標籤:des style blog http 檔案 os
在windows上編譯Mesa3d opengl32庫
cheungmine
http://blog.csdn.net/ubuntu64fan/article/details/8061475
Mesa3d是一套跨平台的opengl/es庫, 它不提供編譯好的二進位包,所以必須自己動手編譯. Linux預設都帶了這個軟體, 因此Linux上直接用就可以了. 如果想在linux上的編譯, 也比較簡單, 本文不贅述.那麼如何在Windows上編譯這個庫呢? Mesa3d官網給出了編譯方法.
http://www.mesa3d.org/install.html
遺憾的是我在編譯過程中出現了錯誤,編譯失敗.最後我總結出了正確的編譯方法,具體過程如下:
我的系統是Windows7+VS2010
1) 下載MesaLib-9.0.zip, 解壓到c:\NVPACK\MesaLib-9.0
ftp://ftp.freedesktop.org/pub/mesa/9.0/MesaLib-9.0.zip
2) 安裝python-2.7.2.msi, 位置: C:\NVPACK\python27\
增加系統內容變數:
Path=......; C:\NVPACK\python27;C:\NVPACK\python27\Scripts
3) 安裝libxml2-python-2.7.7.win32-py2.7.exe,安預設提示操作即可
http://xmlsoft.org/sources/win32/python/libxml2-python-2.7.7.win32-py2.7.exe
4) 安裝scons-2.2.0-setup.exe,安預設提示操作即可
http://www.scons.org/
Production(2.2.0)/Windows
http://prdownloads.sourceforge.net/scons/scons-2.2.0-setup.exe
5) 安裝MinGW, 安裝在C:\NVPACK\MinGW
http://sourceforge.net/projects/mingw/files/latest/download
選擇全部checkbox, 然後進入更新安裝過程...
6) 運行MinGW Shell, 敲入下面的命令安裝flex和bison
$ mingw-get install msys-flex msys-bison
複製下面的檔案
C:\NVPACK\MinGW\msys\1.0\bin\flex.exe
為:
C:\NVPACK\MinGW\msys\1.0\bin\lex.exe
檢驗:
運行MinGW Shell, 敲入命令:
$ lex
$ yacc
如果沒問題,說明lex和yacc安裝正確.
7) 編譯Mesa9.0. 運行MinGW Shell,敲入命令:
$ cd /c/NVPACK/Mesa-9.0
$ /c/NVPACK/python27/Scripts/scons.py
接下來就是一通編譯過程. 編譯出來的是debug版本. 下面是編譯成功結束的樣子:
到下面的目錄中看看吧, 天哪: opengl32.dll真的生存了呀:
C:\NVPACK\Mesa-9.0\build\windows-x86-debug\mesa\drivers\windows\gdi\opengl32.dll
C:\NVPACK\Mesa-9.0\build\windows-x86-debug\gallium\targets\libgl-gdi\opengl32.dll
8) 如果編譯release版本呢? 這個問題留給聰明的讀者.