本次記錄把Qt5.8.0源碼在msvc2015community版下靜態(tài)編譯的過程。
1、準備工作2、配置Qt的Makefile文件3、編譯Qt庫4、配置Qt庫5、配置Qt CreatorFor Windows users as a single zip file (565 MB) (Info) 的文件。
下載Python下載Perl下載Ruby 注意: 1.Ruby要選擇安裝包版本 2.安裝Python、Perl、Ruby時注意勾選添加到環(huán)境變量PATH 3.檢測是否安裝成功:打開CMD 輸入python 輸入perl -v 輸入ruby -v 1) 下載的Qt源碼解壓到磁盤根目錄:如G:/
注意:如果源碼解壓路徑過長,將導致編譯qtimageformats時出現(xiàn)無法打開編譯器生成的文件“”:Invalid argument的錯誤。
我的解壓路徑為:G:/qt_src_5_8_0
2) 進入解壓后的Qt源碼文件夾下的 G:/qt_src_5_8_0/qtbase/mkspecs 文件夾下。
3) 再根據(jù)你安裝的Qt版本進入相應(yīng)的文件夾下,我這里是win32-msvc2015。 
4) 打開文件夾下的qmake.conf文件,根據(jù)它include的內(nèi)容再定位到相應(yīng)的文件。我這里是上級文件夾下的common目錄下的msvc-desktop.conf文件。 

5) 打開對應(yīng)的文件后,找到以下編譯標志:
QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd
將其中的MD全部修改為MT(就是將動態(tài)編譯修改為靜態(tài)編譯):
QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAGS_DEBUG = -Zi -MTd
注意: Qt5.8.0有一個CPP文件 qtbase/src/plugins/generic/tuiotouch/qtuiohandler.cpp 包含了非ASCII字符,需要另存一個帶BOM的UTF-8編碼文件,替換原文件。否則編譯會報錯。
6) 打開VS自帶的命令提示符,在開始菜單中找VS2015的文件夾。 
7) 在命令提示符中進入Qt源碼目錄G:/qt_src_5_8_0。 
8) 輸入Configure命令:
configure -confirm-license -opensource -debug-and-release -static -force-debug-info -其中"G:/msvc2015_static"代表編譯完后的安裝目錄,此目錄不需要事先存在。這個執(zhí)行不會花費很久時間。沒有報錯就下一步。1) 執(zhí)行nmake命令。 
注:此步大約會進行兩到三個小時。
2) nmake執(zhí)行完畢之后,再輸入nmake install安裝。這個安裝實際上是一連串的文件復(fù)制。
注:此步大約會進行二十到三十分鐘。
3) 執(zhí)行完成后沒有報錯說明安裝成功,G:/msvc2015_static文件夾中即為生成的Qt靜態(tài)庫。
(未完待續(xù)……)
新聞熱點
疑難解答