我使用过剩来创建一个基本的openGL程序。一切都很好,直到我也包括了glew。 现在编译器无法找到过剩函数。
我按顺序包括它们:
#include <GL/glew.h>
#include <GL/glut.h>
使用GL / gl.h而不是glew工作,但我不能使用openGL扩展。
编译器为每个过剩和gl函数输出undefined reference
,如glutInit
,glBegin
。我在我的硬盘上找不到任何与过量相关的.lib文件,但出于某种原因,当我不包括glew时它会起作用。我已经将glew文件复制到了正确的目录中。 (glew32.lib,glew32mx.lib,glew32mxs.lib和glew32s.lib到mingw / lib,wglew.h,glxew.h,glew.h到mingw / include / GL和glew32.dll,glew32mx.dll到mingw / bin和windows / system32)
编译器参数为-lmingw32 -lSDLmain -lSDL -lglut32 -lglew32 -lglu32 -lwinmm -lgdi32
。
答案 0 :(得分:1)
首先,停止使用旧的GLUT;改为使用FreeGLUT。
其次,如果你想使用OpenGL,仍然需要链接到OpenGL32。