GLUT 和 freeglut includes 不能一起工作 (MinGW)
GLUT and freeglut includes don't work together (MinGW)
我正在使用 Code::Blocks 和 MinGW 编译器。这些是我的包括:
#ifdef __APPLE__
#include <OpenGL/OpenGL.h>
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
如果我尝试使用函数
glutMainLoopEvent();
它抛出一个错误:
'glutMainLoopEvent' was not declared in this scope.
函数
glutMainLoop();
虽然效果很好。
如果我尝试同时包含 glut 和 freeglut(我已经正确安装了它,我确保按照步骤仔细观看了几次视频),如下所示:
#ifdef __APPLE__
#include <OpenGL/OpenGL.h>
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#include <GL/freeglut.h>
#endif
我收到 24 个错误,例如:
undefined reference to `_imp____glutInitWithExit@12'
undefined reference to `_imp____glutCreateWindowWithExit@8'
undefined reference to `glClearColor@16'
但是这些不包括我之前遇到的错误!!据我所知,我可以包括 glut 或 freeglut,但不能同时包括两者。我该如何解决这个问题?谢谢!
编辑:
链接器选项:
-lfreeglut
-lopengl32
-lglu32
完全解决了问题,现在可以正常使用了。
后来关于未定义引用的错误是linker 错误,而不是编译器错误。你必须 link 你编程(除了包括头文件)以防止过剩 and/or freeglut 库。这是通过向 linker 添加以下选项来完成的:
-lfreeglu
我正在使用 Code::Blocks 和 MinGW 编译器。这些是我的包括:
#ifdef __APPLE__
#include <OpenGL/OpenGL.h>
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
如果我尝试使用函数
glutMainLoopEvent();
它抛出一个错误:
'glutMainLoopEvent' was not declared in this scope.
函数
glutMainLoop();
虽然效果很好。
如果我尝试同时包含 glut 和 freeglut(我已经正确安装了它,我确保按照步骤仔细观看了几次视频),如下所示:
#ifdef __APPLE__
#include <OpenGL/OpenGL.h>
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#include <GL/freeglut.h>
#endif
我收到 24 个错误,例如:
undefined reference to `_imp____glutInitWithExit@12'
undefined reference to `_imp____glutCreateWindowWithExit@8'
undefined reference to `glClearColor@16'
但是这些不包括我之前遇到的错误!!据我所知,我可以包括 glut 或 freeglut,但不能同时包括两者。我该如何解决这个问题?谢谢!
编辑:
链接器选项:
-lfreeglut
-lopengl32
-lglu32
完全解决了问题,现在可以正常使用了。
后来关于未定义引用的错误是linker 错误,而不是编译器错误。你必须 link 你编程(除了包括头文件)以防止过剩 and/or freeglut 库。这是通过向 linker 添加以下选项来完成的:
-lfreeglu