2

注意:我在 C 语言中看到了关于这个人有这个问题的帖子,因为 glew.c 脚本没有为他加载,我不认为这是我的问题。从尽可能接近 GLEW 文档网站上的确切步骤(并且我没有看到需要添加名为 glew.c 的文件)我已经使用 MinGW 设置了 glew 并将 dll 和库提取到适当的文件夹但在编译时我收到此消息:

undefined reference to `_imp__glewInit@0`

这是我的主文件 main.cpp:

#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <GL/glew.h>
#include <GL/glut.h>

using namespace std;

 int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutCreateWindow("Glew Test");
    GLenum err = glewInit();

    if (GLEW_OK != err)
    {
        cout << "Something effed up";
    }

    cout << "Awwwwwwwwhhhhh Yeeeeeeeaaaaah!!!";

return 0;
}

这是我的 MakeFile:

MY_LIBS = -lglut32 -lglew32 -lopengl32 
glewex:
    g++ -g main.cpp -o glewex $(MY_LIBS)

关于我为什么会收到此错误的任何想法?

4

2 回答 2

9

为什么你坚持要在外部链接到这个库?它造成的麻烦比它的价值要多。

添加glew.c到您的项目中。只需将其与其余的源文件一起编译即可。只要你#define GLEW_STATIC会正常工作。问题解决了。

即使您成功地将其链接到库,您也会被绑定到一个特定的架构/构建/版本。如果您只包括在内glew.c,您几乎可以在任何地方自由构建项目。

于 2012-09-14T15:08:41.503 回答
3

我有一个类似的问题。glewGetErrorString 和 glewInit 被报告为我未定义。无法追踪问题。

然后我记得我已经下载了 64 位版本的 glew 而 free-glut 并且我下载的其他所有内容都是 32 位的

所以重新下载了32位的glew。一切都很完美!希望对将来的人有所帮助。

于 2013-06-20T19:42:17.670 回答