【问题标题】:undefined reference to 'Angel :: InitShader(char const*, char const*)'未定义对'Angel :: InitShader(char const*, char const*)'的引用
【发布时间】:2014-06-06 09:58:42
【问题描述】:

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

我遇到错误消息 undefined reference to '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/

【问题讨论】:

    标签: glsl shader opengl-3 glew freeglut


    【解决方案1】:

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

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • 该链接不包含答案的重要部分;这是他需要包含的文件。我编辑了答案以添加一些上下文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 2013-11-09
    • 1970-01-01
    相关资源
    最近更新 更多