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 庫。這樣可移植性會更好一點。