【发布时间】:2012-10-14 19:57:47
【问题描述】:
一周前,当我第一次尝试使用 GLUT 并关注 this tutorial 时,它没有任何错误。 现在,一周后我安装了相同的软件,相同的库,但每次我尝试编译项目时都会遇到这些错误(它会突出显示 glut.h 文件中的一行):
obj\Debug\main.o(.text+0x1c)||In function `glutInit_ATEXIT_HACK':|
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|486|undefined reference to `__glutInitWithExit@12'|
obj\Debug\main.o(.text+0x3d)||In function `glutCreateWindow_ATEXIT_HACK':|
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|503|undefined reference to `__glutCreateWindowWithExit@8'|
obj\Debug\main.o(.text+0x5d)||In function `glutCreateMenu_ATEXIT_HACK':|
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|549|undefined reference to `__glutCreateMenuWithExit@8'|
我卸载了 Code:Blocks,删除了 GLUT 文件(glut.h、glut32.dll、glut.a)并重新安装了所有内容,但我仍然遇到同样的错误。 我完全确定我的链接器设置没问题,因为我已经按照教程进行操作。我也尝试了其他教程,但得到相同的结果,一堆错误。
我做错了什么,我该如何解决?
编辑:已修复!在包含GL/glut.h 之前,只需要#include <GL/gl.h>。
【问题讨论】:
-
#pragma comment(lib, "glut32.lib") 将它添加到 main.cpp 的顶部
-
我使用的是 Code::Blocks,而不是 Microsoft Visual C++
-
那又怎样?这是预处理器定义,而不是 IDE 命令。
-
我以为#pragma 只是 VC++,当我添加它时,我只会得到更多错误。 “警告:忽略 #pragma 评论”
-
好的,修好了。我必须在#include
之前添加#include 。我不知道为什么,但现在我检查的所有示例代码都可以正常工作。
标签: c++ opengl compilation glut codeblocks