所以我一直在关注youtube上的教程,在c ++中使用openGL,Glew和SDL2。我编译它(我使用代码块)起初似乎是正确的,因为我没有得到任何错误或警告,但然后在教程中我们使用glGenBuffers导致一个未识别的引用显示。所以我在google上查了一下,得到了我应该在其他链接库之前链接-lglew32s。所以我在“其他链接器选项”下的链接库是-lglew32s -lmingw32 -lSDL2main -lSDL2 -lopengl32 -lglew32(按此顺序)。
我结合了我的SDL2包含GL包含并在编译器中的“Search Directories”下链接了那个文件夹。对于libs,我将两个glew lib文件(glew32和glew32s)与SDL2 libs相结合,我将这个文件夹链接起来对于“搜索目录”中的链接器。
我还将glew32.dll和sdl2.dll文件放在我项目的调试文件夹中。这个位置有效,因为这是我在之前将所有SDL dll放入其他项目中的sdl内容的地方。
最后在类的头文件的顶部和main.cpp我放:
#define GLEW_STATIC
#include <SDL2/SDL.h>
#include <GL/glew.h>
按顺序从顶部开始。
但现在我收到了警告:
.drectve`/DEFAULTLIB:“LIBCMT”/ DEFAULTLIB:“OLDNAMES”'无法识别
我查了一下,我认为这与2个库有冲突。那么这是否意味着http://sourceforge.net/projects/glew/files/glew/1.12.0/不适合mingw下载。我不确定,但我希望有人可以给我一个解决方案来修复警告。到目前为止,使用glew的代码运行良好,但我不确定将来是否会改变。