Glsl 未定义对'的引用;Angel::InitShader(char const*,char const*)';

Glsl 未定义对'的引用;Angel::InitShader(char const*,char const*)';,glsl,shader,opengl-3,glew,freeglut,Glsl,Shader,Opengl 3,Glew,Freeglut,我正在开始我的OpenGl课程,我正在使用Edward Angel的书,交互式计算机图形学。在本书的第一个示例中,他使用glsl着色器。我已成功地将所有编译器库链接到正确的编译器标志等 我在Linux Fedora 20上使用code::blocks作为IDE时遇到错误消息“未定义对”Angel::InitShader(char const*,char const*)”的引用 如果我跟踪错误,那么它是指GLuint program=InitShader(“vshader21.glsl”、“fsh

我正在开始我的OpenGl课程,我正在使用Edward Angel的书,交互式计算机图形学。在本书的第一个示例中,他使用glsl着色器。我已成功地将所有编译器库链接到正确的编译器标志等

我在Linux Fedora 20上使用code::blocks作为IDE时遇到错误消息“未定义对”Angel::InitShader(char const*,char const*)”的引用

如果我跟踪错误,那么它是指GLuint program=InitShader(“vshader21.glsl”、“fshader21.glsl”)

文件vshader21.glsl和另一个文件在我的源文件夹中,因此它有理由知道

在头文件angel.h中,着色器文件在名称空间angel下初始化

GLuint InitShader(常量字符*顶点着色器文件, 常量字符*fragmentShaderFile)


如果有人有兴趣查看cpp、glsl和h文件。它们都在这里

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

虽然此链接可以回答问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。链接不包含答案的重要部分;这是他需要包含的文件。我编辑了我的答案以添加一些上下文。