GLEW链接器错误(未定义引用`__glewBindVertexArray')

时间:2012-11-14 17:59:43

标签: opengl mingw codeblocks glew

我最近决定使用非折旧技术重新编写游戏的一些OpenGL代码。我没有用glBegin()和glEnd()绘制图元,而是试图坚持使用顶点数组对象等。我正在尝试从http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/获取代码。我以前做了很多连接,但由于某种原因,这不起作用。我正在尝试将GLEW链接到我的项目,CodeBlocks作为我的IDE,MinGW GCC作为我的编译器。我该如何解决这个问题?是的,我确实链接了“glew32.lib”

3 个答案:

答案 0 :(得分:6)

如果您静态链接GLEW,通常会发生这种情况,但不会通知标题有关此情况。为此,您必须定义预处理程序标记“GLEW_STATIC”。这最好作为编译器选项完成。如果是GCC,请将-DGLEW_STATIC添加到编译器命令行。

答案 1 :(得分:0)

试试这个:

pkg-config --libs --static glew

在终端。然后,复制它给你的libs并在你的gcc / g ++语句后粘贴:

g++ <your-file-name>.cpp -o <output-file-name> -lGL -lGLU -lglfw3 -lrt -lm -ldl -lXrandr -lXinerama -lXcursor -lXext -lXrender -lXfixes -lX11 -lpthread -lxcb -lXau -lXdmcp -lGLEW -lGLU -lGL -lm -ldl -ldrm -lXdamage -lX11-xcb -lxcb-glx -lxcb-dri2 -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lXxf86vm -lXfixes -lXext -lX11 -lpthread -lxcb -lXau -lXdmcp 

(有些在上面重复,因为我也使用了glfw)

这应该可以解决您的问题,因为通常不会声明这些库。

答案 2 :(得分:0)

如果您将Linux,FLTK ui库与OpenGL一起使用,请参阅... / bin / fltk-config文件以获取LDLIBS。它也应该包含“ -lGLEW”,或者您可以在编译时将此选项添加到LDLIBS参数。当然应该安装“ libglew-dev”。