編譯 Qt 5.15.x For Windows 基礎教程 Visual Studio 2019 MSVC142 x64

=========================================================================
準備工作:(必須)
第一步:
Qt 源碼下載:https://download.qt.io/official_releases/qt/
Qt Creator 源碼下載:https://download.qt.io/official_releases/qtcreator/
第二步:
安裝 Visual Studio 2019 并配置 VC++ 桌面開發工作負載:(怎么安裝就不用說了吧)
小白如何下載安裝 Visual Studio: https://docs.microsoft.com/zh-cn/visualstudio/?view=vs-2019
附上我的版本信息:
版本信息:Visual Studio 2019 16.8.x
平臺工具集:MSVC142 x64
Windows SDK 版本:17763.132
C++編譯器版本:Microsoft VC++ 1928
第三步:
編譯 Qt 5.15 需要預先安裝以下解釋器并配置環境變量:
Python 3.x: https://www.python.org/downloads/
Perl64: https://www.perl.org/get.html
(以上缺一不可 !)
如果需要 Make 本地文檔,則需要安裝 LLVM ,而且需要的是 Qt Company 預構建的 LLVM 。
LLVM Qt Prebuilt: https://download.qt.io/development_releases/prebuilt/libclang/qt/
雖然現代開發主張閱讀官方在線文檔,但對于有特殊需求的開發者仍然需要本地文檔。
建議工作:(非必須)
1,閱讀此教程之前,請盡可能閱讀Qt官方文檔熟悉所有命令。
Qt 構建流程簡述:https://doc.qt.io/qt-5/windows-building.html
Qt Configure 命令官方解釋:https://doc.qt.io/qt-5/configure-options.html
Qt Doc LLVM 預配置:https://doc.qt.io/qt-5/qdoc-guide-clang.html
2,編譯環境建議在純英文環境下進行,且源碼路徑與構建目錄路徑盡量簡短且不包含空格、中文。
筆者是使用 Hyper-V 安裝英文版 Win10 LTSC ,不建議使用 VMware 客戶端。
可以下載微軟官方Windows開發環境(英文): https://developer.microsoft.com/zh-cn/windows/downloads/virtual-machines/
3,構建之前,請更新 Visual Studio 版本到最新。(但建議是VS的長期維護版本,例如16.4、16.7.)
因為框架編譯之后需要分發給用戶使用很長時間,為了降低后期遷移維護的成本,請盡可能保持最新。
從軟件開發者的角度來講,我們是希望用戶使用我們的最新版軟件,同樣,上游那些搞編譯器的鬼精老頭子們也希望我們使用最新版編譯器。
同時,對于以后升級軟件依賴的底層框架版本,改動也會更少。
4,請盡量鎖定編譯器版本。
打開你想用于構建的 Visual Studio ,隨便新建一個C++項目,執行代碼:
#include <iostream> int main() { std::cout << _MSC_VER << std::endl; }
可查看你當前的 VC++ 編譯器版本號。
然后到源碼目錄中找到這個文件:
<SrcPath>\qtbase\mkspecs\common\msvc-version.conf
打開這個文件,在第一行添加:
QMAKE_MSC_VER = 1928
后面的數字就是你Print到的數字。
5,請盡可能在固態硬盤中進行構建。
整個構建過程相當于是對硬盤進行高頻 4K IO 操作,為了保證性能,請盡可能使用固態硬盤,并在此之前手動運行Trim以確保最佳IO性能。筆者電腦配置為 Y9000k-2020H,10875H + 32GB 3200MHz + 1TB PM981a ,在Hyper-V中以CPU基礎頻率構建只需要兩小時,效率非常高。
=========================================================================
編譯步驟:
第一步:
解壓源碼,并創建一個構建目錄。
例如:
將源碼解壓到: C:\repos\Qt-Source-5.15.2
創建構建目錄: C:\repos\Qt-Build-5.15.2
第二步:
在開始菜單中找到 Visual Studio 2019 程序組,并運行 x64 Native Tools Command Prompt for VS 2019 命令行工具,切換到源碼目錄。
如果你要編譯 x86 版本,就運行 x86 的命令行工具。
然后切換到源碼解壓的目錄:(路徑根據個人選擇,此為示例。)
cd C:\repos\Qt-Source-5.15.2
第三步:
設置 LLVM 路徑,注意,LLVM 必須是上面說的由 Qt Company 預構建的 LLVM。
LLVM安裝路徑也是由個人選擇,在此示例設置 LLVM 路徑命令:
set LLVM_INSTALL_DIR=C:\SDK\LLVM\Qt\libclang set QDOC_USE_STATIC_LIBCLANG=1
第一個命令就是設置 LLVM 安裝路徑到當前命令行環境變量。
第二個命令則是設置將 QDoc 編譯為靜態版本。(一般情況)
如果不需要本地文檔,可以跳過LLVM步驟。現代開發主張閱讀官網在線文檔。
第四步:
執行安裝配置。(最核心,非常重要)
命令行繼續執行:
configure -debug-and-release -confirm-license -opensource -platform win32-msvc -prefix "C:\\repos\\Qt-Build-5.15.2" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -opengl dynamic -skip qtwebengine -nomake tests -no-compile-examples -mp
命令解讀:
-debug-and-release : 編譯 DeBug 和 Release 版本。
-confirm-license :自動選擇許可類型。
-opensource :編譯開源版本
-platform win32-msvc : 環境為 Win32 ,編譯器為 MSVC。
-prefix "<Path>" :設置構建目錄,最終構建好的文件將會輸出到此目錄。
-qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz :選擇連帶構建的三方庫。
具體有多少種三方庫可構建,請參閱:https://doc.qt.io/qt-5/configure-options.html
-opengl dynamic :設置 OpenGL 版本為動態。和 desktop 具體區別請繼續參閱上面地址。
-skip qtwebengine :跳過 Qt WebEngine 沒有必要且體積非常大的東西。(官方都建議跳過)
-nomake tests :跳過 Tests 。
-no-compile-examples :跳過構建例子,但拷貝例子源碼。
-mp :多核多線程編譯。(加快編譯速度)
第四步:
構建并Install文件到構建目錄:
nmake && nmake install
此過程需要等待數小時,一般情況下兩小時即可完成。
第五步:
生成文檔:
nmake docs
第六步:
安裝文檔到構建目錄:
nmake install_docs
至此,Qt 框架編譯完成。
Good luck!

浙公網安備 33010602011771號