I am trying to run a program : http://ogldev.atspace.co.uk/www/tuto...utorial16.html

However, I get undefined reference to some function mentioned below, which is weird, because all those function and their headers are included in the tutorial source.

g++ tutorial16.cpp -lGLEW -lGL -lglut -I/usr/include/ImageMagick/
Code :
/tmp/ccsp9wYo.o: In function `RenderSceneCB()':
tutorial16.cpp:(.text+0x14): undefined reference to `Camera::OnRender()'
tutorial16.cpp:(.text+0x128): undefined reference to `Pipeline::GetTrans()'
tutorial16.cpp:(.text+0x215): undefined reference to `Texture::Bind(unsigned int)'
/tmp/ccsp9wYo.o: In function `SpecialKeyboardCB(int, int, int)':
tutorial16.cpp:(.text+0x27e): undefined reference to `Camera::OnKeyboard(int)'
/tmp/ccsp9wYo.o: In function `PassiveMouseCB(int, int)':
tutorial16.cpp:(.text+0x2bd): undefined reference to `Camera::OnMouse(int, int)'
/tmp/ccsp9wYo.o: In function `main':
tutorial16.cpp:(.text+0xa9b): undefined reference to `Camera::Camera(int, int)'
tutorial16.cpp:(.text+0xba3): undefined reference to `Texture::Texture(unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
tutorial16.cpp:(.text+0xbce): undefined reference to `Texture::Load()'
collect2: ld returned 1 exit status

This is very weird, Can anyone running Linux do me a favor to try to run this program, I want to see where the problem comes from.

(Don't forget to install libMagick with apt-get install libmagick++-dev)