Qt 应用之 MinGW编译安装GLEW
程序员文章站
2022-07-14 08:04:36
...
ps:在qt 下移植opengl的 glew 库的时候遇到glew 链接报错,需要自己用mingw 编译 glew
步骤:
1. 下载源码:
http://glew.sourceforge.net/index.html
http://www.grhmedia.com/glew.html
其中我下载使用的是 第二个链接中的mingw-glew-2.0.0 for 32 bit
2. 打开qt 的mingw 命令行窗口
如果文件夹没有compile.bat, 自己新建一个如下
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -nostdlib -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 -nostdlib -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
进入到 下载解压目录下 执行compile.bat
3. 然后 将lib中生成的 .a 文件添加到 你所需要的地方,我这里是这样的一个目录
4. 将lib中生成的dll 拷贝到你的qt 安装目录的bin下 例如我的是:
5. 将源文件終的include 中的GL 文件夹拷贝到你需要的地方,我的如下:
6. 在你的工程中pro 中添加依赖和 lib链接
如下:
LIBS += -lopengl32 -lGLU32 -lGLUT
INCLUDEPATH += $$PWD/../3rdParty/Includes
DEPENDPATH += $$PWD/../3rdParty/Includes
LIBS += -LD:\kpan\workspace\test\3rdParty\Libs\ -lglew32 -lglew32mx
其中第一行不要忘了,起初我是没添加,还是会报找不到链接库,参考了国外一个哥们的解决方法:
Building GLEW 1.7.0 on Windows using MinGW
7. 然后就可以用glew 的函数了。不过qt 中还是推荐用qt 封装好的openglfunction 更方便,而不要再使用glew 库。这样可移植性会更好一点。
推荐阅读