1. 程式人生 > >msvc2015 編譯Qt原始碼

msvc2015 編譯Qt原始碼

前言

Qt原始碼編譯有很多選項:目標platforms,編譯靜態庫或者動態庫,skip某個功能模組等選項。本文主要介紹在Win 10 x64平臺下使用visual studio 2015 編譯Qt 5.9原始碼的流程。

1.原始碼下載
原始碼獲取有兩種方式:1.直接下載,下載地址:http://download.qt.io/archive/qt/,2.git clone Qt原始碼,倉庫地址:https://code.qt.io/qt/qt5.git。推薦使用git克隆的方式,這樣在編譯生成目標庫時,你可以通過git清楚的瞭解到檔案變化情況。git clone步驟:1.git clone https://code.qt.io/qt/qt5.git。2.cd qt5。3.git checkout 版本。4.git submodule update --init --recursive。
2.編譯工具安裝
(1)下載安裝visual studio 2015 (3)安裝Python,推薦使用Python 2.x版本,因為Python 3.x與Python 2.x在一些方法上有改動, 例如print方法 ,Qt使用的    是Python 2.x的API,下載地址:https://www.python.org/downloads/,安裝並設定PATH。
3.配置編譯選項
在開始選單裡進入Visual Studio 2015資料夾,開啟“VS2015 x64本機工具人員命令提示符”,進入cmd視窗模式:1.cd 下載的Qt原始碼目錄;2.執行congigure -prefix E:\\QtSource\build -release -opensource -static -force-debug-info
 -opengl dynamic -platform win32-msvc -c++std c++11 -skip qtmultimedia -skip qtsensors -skip qtwebengine -skip qtgamepad -nomake examples -nomake tests -mp -skip qtlocation -skip qtserialbus -confirm-license命
令配置編譯選項,下面就對這些引數做簡要的說明。
4.configure引數說明
-prefix 生成目標庫的目錄 -release 生成release版本  -debug 生成debug版本  -debug-and-release生成debug和release版本 -opensource 編譯開源版  -commercial 編譯商業版 (引數可選) -static 生成靜態庫lib檔案  -shared 生成動態庫dll檔案 (引數可選,預設是shared)/*** 注:靜態庫與動態庫區別是在生成目標檔案的連結方式上,靜態庫採用靜態連結,在生成的目標檔案(如.exe檔案)中會包含庫檔案程式碼,動態庫在程式編譯時並不會被連線到目的碼中,而是在程式執行時才被載入。***/
-force-debug-info 強制生成除錯資訊 (引數可選)/*** 這個引數是讓Qt release版本也生成.pdb檔案。這個檔案有什麼作用呢?它就是我們在release版本下設定了異常捕獲資訊函式,打印出錯堆疊資訊所必須的檔案。如果程式沒用開啟異常捕獲選項,是不需要開啟這個引數的。***/
-platform win32-msvc 目標庫執行平臺
-skip 跳過該模組 -nomake 不編譯該模組 -mp 啟動多核編譯 注:-skip和-nomake都可省略,但是-skip qtwebengine這個引數不能省略,qtwebengine模組有需要依賴的庫,這裡不跳過編譯會失敗。
5.make && make install
等待configure命名執行完成後,輸入nmake開始編譯,如果結果沒有錯誤,輸入nmake install等待結束,完成。 注:Qt原始碼要成功編譯註意以下因素:1.檢查編譯Qt的必須工具是否正確安裝,並檢查PATH值是否正確。2.啟動vs 2015那個命令視窗,而不是普通的那個cmd視窗。3.-skip qtwebengine引數一定不能省略,否則編譯會失敗。 參考資料: