需要用到qt靜態版,而官方未提供,需要自己編譯。
qt-everywhere-opensource-src
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官網:
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
用mingw靜態編譯qt4.8.2和qt5.1.1
qt編譯./configure引數的詳細解釋
qt5.1編譯後的安裝目錄問題
Rust環境搭建(Windows MinGW)
設定環境變數 cargo home來指定cargo的安裝目錄。設定環境變數 rustup home來指定rustup的安裝目錄。雙擊安裝,顯示下圖時選擇2 1 proceed with installation default 確認並安裝 預設 2 customize installation 自定...
APACHE TOMCAT環境下JSP的編碼問題
今天又遇到亂碼問題,可真煩.為什麼tomcat就不能自動判斷專案的編碼,而一定要專案遵循tomcat的編碼.說說解決方法吧 在tomcat的server.xml配置檔案中的connector中新增uriencoding utf 8 屬性,如 如果是apache整合tomcat,則要在連線的conne...
在eclipse環境下修改tomcat編碼的問題
如果在eclipse中配置了tomcat後,其實,tomcat所用的所有tomcat配置檔案,都不是catalina home config下面的xml檔案,而是在eclipse所建立的servers檢視下的配置中,如圖 所有,諸如修改在catalina home下的config中的server.x...