我正在使用GLEW-2.0.0学习OpenGL。我正在使用CodeBlocks 16.01。 我从here下载了GLEW-2.0.0 .tgz存档。
然后我通过创建.bat文件并复制以下代码来提取和编译源文件,我在互联网上找到了这些代码:
{
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32.a src/glew.o
gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32mx.dll -Wl,--out-implib,lib/libglew32mx.dll.a -o lib/glew32mx.dll src/glew.mx.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32mx.a src/glew.mx.o
}
然后我将包含文件和lib文件复制到MinGW文件夹的相应目录中。在创建项目后,我在编码块中链接了opengl32,glu32,glew32和glew32mx。但是GLEW-2.0.0文件夹中的任何目录中都没有glew32.dll和glew32mx.dll文件。
当我编译一个OpenGL程序时,它编译时没有任何错误,但是当我运行它时,只出现一个控制台窗口并说出"按任意键继续"。
如果我注释掉glewInit();
语句,程序运行正常,SDL2创建窗口。但是一旦我使用glewInit();
,程序编译得很好但只出现控制台窗口。
我认为,这是由于缺少glew32.dll和glew32mx.dll文件。即使在编译GLEW之后我也找不到这些文件。那么,我在哪里可以找到我的程序的这些文件?或者我还应该做些什么?
编辑:我设法使我的项目工作。我将glew.c文件添加到我的项目中并添加了行#34; #define GLEW_STATIC"我的main.cpp文件顶部没有引号。然后我编译了这个项目,它运作得很好。我知道这是静态链接,但对我来说很好。