1. 程式人生 > >vs2015靜態編譯Qt5.7.1及使用

vs2015靜態編譯Qt5.7.1及使用

2.下載並安裝Python;

3.下載並安裝Perl;

注意:① 安裝Python,Perl 時要注意勾選新增環境變數到系統。

           ② 檢測三個環境是否安裝好,開啟cmd視窗:

                Python的檢測:Python

                Perl的檢測:Perl -v

1.準備工作: msvc版本:            修改原始碼中\qtbase\mkspecs\common\msvc-desktop.conf檔案,            QMAKE_CFLAGS_RELEASE    = -O2 -MD
           QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
           QMAKE_CFLAGS_DEBUG      = -Zi -MDd            改為:            QMAKE_CFLAGS_RELEASE    = -O2 -MT

           QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
           QMAKE_CFLAGS_DEBUG      = -Zi -MTd

開啟VS自帶的命令提示視窗:


注:如果是編譯x64的Qt,則需要開啟VS2015 x64 本機工具命令提示符


開啟命令提示符後,通過cd命令進入qt原始碼目錄:cd C:\Qt5.7.1_src;

注:如果原始碼不在系統盤,則需要先用“碟符:”命令進入所在分割槽,如"D:"、"cd D:\Qt5.7.1_src"就進入了D盤的原始碼目錄。

2.開始編譯:

configure -confirm-license -opensource -debug-and-release -static -force-debug-info -prefix "D:\msvc2015_static" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples

注:-prefix後跟的是編譯完成後的安裝目錄,替換成自己的目錄即可。

執行nmake命令(注:大約編譯4個小時)

編譯完成後,沒錯誤則執行nmake install命令(注:大約執行40分鐘)

執行完成後沒有報錯說明安裝成功,D:\msvc2015_static資料夾中即為最終的qt庫

3.配置Qt庫:

①qt.conf檔案指明qt庫目錄的字首、文件目錄和示例目錄,如果將安裝目錄挪到別處則需要修改或新建。在bin資料夾下新建qt.conf檔案,並輸入以下內容:

[Paths]  
Documentation=C:/Qt/Qt5.7.1/Docs/Qt-5.7  
Examples=C:/Qt/Qt5.7.1/Examples/Qt-5.7  
Prefix=D:/msvc2015_static
注:① 文件和示例目錄此處使用了官方的msvc2015動態編譯版安裝包中的目錄,也可以刪掉這兩項。Prefix是存放Qt庫的目錄。
②複製動態庫中的bin/qmlscene.exe到靜態庫的bin資料夾中。否則在Qt Creator中新增Qt庫時會報qmlscene未安裝的錯誤。

③此步是Qt 5.7.1的msvc版需要執行的步驟:從原始碼目錄中複製pdb檔案到安裝目錄的lib資料夾。將下面文字複製到批處理檔案(*.bat)中,然後放在lib資料夾中執行:

for /r C:\qt_5.7.1_src %%a in (*.pdb) do if /i "%%~xa"==".pdb" copy "%%~a"  
  
pause

注:如果不執行此步,編譯時會有“未找到PDB檔案”的警告,且除錯時無法跟蹤到Qt的原始碼。

④從動態連結版的Qt庫的bin資料夾中複製Qt5Core.dll到靜態連結版的lib資料夾中。

注:如果不執行此步,在Creator的Qt Version中將會顯示“x86-windows-unknown-pe-32bit”。

4.配置Qt Creator:

①新增Qt Versions:


②新建一個構建套件,Qt版本選擇剛新增的靜態版,其他選項與動態版相同即可。


參考教程