我正在开始我的OpenGl课程,我正在使用Interactive Angel,Interactive Computer Graphics的书。在本书的第一个例子中,他使用了glsl着色器。我已经成功地将所有编译器库链接到正确的编译器标志等。
我遇到错误消息未定义引用'Angel :: InitShader(char const *,char const *)'我在Linux Fedora 20上使用code :: blocks作为IDE。
如果我追踪错误,那么它指的是GLuint program = InitShader(“vshader21.glsl”,“fshader21.glsl”);
文件vshader21.glsl和另一个文件在我的源文件夹中,所以它明确知道是。
在头文件angel.h中,着色器文件在命名空间Angel。
下初始化GLuint InitShader(const char * vertexShaderFile, const char * fragmentShaderFile);
如果有人有兴趣看到cpp,glsl和h文件。他们都在这里http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/CODE/CHAPTER02/MAC_VERSIONS/