未定义引用' Angel :: InitShader(char const *,char const *)'

时间:2014-06-06 09:58:43

标签: glsl shader opengl-3 glew freeglut

我正在开始我的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/

1 个答案:

答案 0 :(得分:0)

您需要将InitShader.cpp(定义函数InitShader的位置)添加到项目以及头文件中。