【问题标题】:GLUT compile errors with Code::BlocksGLUT 使用 Code::Blocks 编译错误
【发布时间】: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


【解决方案1】:

我必须在#include <GL/glut.h> 之前添加#include <GL/gl.h>。我不知道为什么,但现在所有的例子似乎都编译得很好。

【讨论】:

    【解决方案2】:

    我不知道为什么我的评论被删除了,但最后它确实通过添加 windows.h 库来工作......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      相关资源
      最近更新 更多