C++ C++;对`\u imp的未定义引用__glewInit@0`
注意:我在C语言中看到过关于这个人有这个问题的帖子,因为没有为他加载glew.C脚本,我认为这不是我的问题。通过尽可能地遵循GLEW文档网站上的确切步骤(其中我没有看到添加一个名为GLEW.c的文件的要求),我使用MinGW设置了GLEW,并将dll和LIB提取到适当的文件夹中,但在编译时我收到了以下消息:C++ C++;对`\u imp的未定义引用__glewInit@0`,c++,makefile,glew,C++,Makefile,Glew,注意:我在C语言中看到过关于这个人有这个问题的帖子,因为没有为他加载glew.C脚本,我认为这不是我的问题。通过尽可能地遵循GLEW文档网站上的确切步骤(其中我没有看到添加一个名为GLEW.c的文件的要求),我使用MinGW设置了GLEW,并将dll和LIB提取到适当的文件夹中,但在编译时我收到了以下消息: undefined reference to `_imp__glewInit@0` 这是我的主文件main.cpp: #include <stdlib.h> #include
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;
}
你知道我为什么会出现这个错误吗?你为什么坚持从外部链接到这个库?它带来的麻烦远远超过了它的价值 将
glew.c
添加到项目中。只需将其与其他源文件一起编译即可。只要您#定义GLEW\u STATIC
,它就可以正常工作。问题解决了
即使成功地将其链接到库,也会绑定到一个特定的体系结构/构建/版本。如果您只包含
glew.c
,您将可以在几乎任何地方自由构建项目。我也有类似的问题。glewGetErrorString和glewInit被报告为未定义。无法跟踪问题
然后我想起我下载了64位版本的glew,而免费glut和我下载的所有东西都是32位的
所以重新下载了32位的glew。一切都很完美!希望这对将来的人有所帮助。尝试将
-lopengl32
移动到列表的前面。新的生成文件行:MY_LIBS=-lopengl32-lglut32-lglew32给出相同的错误您是否尝试静态链接到这些库?如果是这样,请在包含GLEW.h
之前尝试#定义GLEW_STATIC
。错误相同,只是没有“imp#”part@TheBuzzSaw你的意思是,在你的项目中包括glew.h
?不是这样的glew.c
?不是。我的意思是glew.c
。我建议您将glew作为项目的一部分进行编译。当然,代码的其余部分将包括“glew.h”,但这不是本文的主题。
MY_LIBS = -lglut32 -lglew32 -lopengl32
glewex:
g++ -g main.cpp -o glewex $(MY_LIBS)