需要用到Qt靜態版,而官方未提供,需要自己編譯。
qt-everywhere-opensource-src
原文來自: http://blog.csdn.net/libaineu2004/article/details/24620709
1、修改環境變量工
修改前請先備份當前的環境變量。然後:
(1)檢查系統變量path,刪除有關mingw其他版本等信息,以免與後續的mingw32-make衝突。
(2)檢查用戶變量INCLUDE、LIB、PATH、MSDevDir和MSVCDir,刪除有關\Microsoft Visual Studio\VC98的信息,因爲它們會與後續的mingw32-make衝突,導致編譯出錯。
2、在電腦上安裝mingw編譯器,假設路徑安裝在C:\Qt\mingw32。將C:\Qt\mingw32\bin添加進環境變量path,打開DOS命令行輸入gcc --version和g++ --version和mingw32-make --version驗證編譯器安裝成功。我用的MinGW版本是V4.8.2,軟件來自Qt官網:http://download.qt-project.org/development_releases/prebuilt/mingw_32/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄。例如:D:\qt-everywhere-opensource-src-4.8.6\
4、依次執行以下DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
常見的使用選項說明:
-debug-and-release 編譯debug和release版
-opensource 選擇開源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結果目錄,如果未指定則默認當前
-shared 創建和使用共享Qt庫
-static 創建和使用靜態Qt庫
-nomake demos -nomake examples 不編譯例程
-nomake tests 不編譯tests
-skip qtwebkit 忽略qtwebkit,因爲編譯它特別消耗時間
-mp 使用多核優化編譯
(2)mingw32-make
(3)mingw32-make install
5、編譯完成後,把C:\Qt\mingw32\bin\路徑下的三個文件libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll拷貝到D:\qt-everywhere-opensource-src-4.8.6\bin\。另外,也請把步驟1備份的環境變量還原。
6、修改Qt安裝路徑
最初編譯時選擇的路徑是D:\Qt4.8.6\。如果想將它複製到其他盤符,並且改名,例如:C:\Qt\4.8.6_MinGW。這樣一來會有問題嗎?是的,會有問題,因爲Qt有絕對路徑依賴症。改名後C:\Qt\4.8.6_MinGW\bin\的exe執行程序都會出問題,要麼程序打不開,要麼多國語言發生異常。用記事本打開C:\Qt\4.8.6_MinGW\bin\qmake.exe,查找關鍵字“qt_prfxpath”,可以看到裏面含有原始的安裝路徑。我們不可以手動去修改qmake.exe,真正有效的解決方法是:
在C:\Qt\4.8.6_MinGW\bin\路徑下創建一個qt.conf文件,內容爲
[paths]
Prefix = C:/Qt/4.8.6_MinGW
請注意:qt.conf文件必須是ANSI格式,並且Prefix的斜槓風格採取的是Linux的,而非Windows,否則會失效。或者使用"Prefix = .. ",如此一來,任意路徑有效。
7、參考文獻
Qt在各平臺上的搭建qt-everywhere
http://my.oschina.net/crucian/blog/223107
用mingw靜態編譯Qt4.8.2和Qt5.1.1
http://blog.csdn.net/markl22222/article/details/20734085
QT編譯./configure參數的詳細解釋
http://www.cppblog.com/lauer3912/articles/136423.html
QT5.1編譯後的安裝目錄問題