3

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

4

3 回答 3

7

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

于 2012-11-14T23:49:09.597 回答
1

试试这个:

pkg-config --libs --static glew

在终端。然后,复制它给你的库并粘贴到你的 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)

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

于 2017-01-28T07:19:04.820 回答
0

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

于 2020-01-16T22:28:04.647 回答