1、下載QT5.8源碼
這個我不做過多解釋。
2、安裝使用的環境
visual studio 2017 Python Perl Ruby 安裝好,並配置好環境PATH變量。
3、修改錯誤代碼
錯誤一:qtbase\src\plugins\generic\tuiotouch\qtuiohandler.cpp 包含了非ASCII字符,需要另存一個帶BOM的UTF-8編碼文件,替換原文件。否則編譯會報錯。建議使用notepad++修改。
錯誤二:修改 qtbase/src/corelib/tools/qalgorithms.h。因為要修改位置太多,我直接給出源碼包。
qalgorithms補丁包,或者qalgorithms.zip
4、如果你選擇動態編譯動態編譯,請使用下面configure
- configure -developer-build -mp -confirm-license -opensource -debug-and-release -force-debug-info -prefix "C:\Qt\msvc2017_dynamic" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -nomake examples
接着,完成之后執行namke 再 nmake install,時間有點長,慢慢等着吧。
5、如果你選擇靜態版本,請看下面的步驟。
再根據你安裝的Qt版本進入相應的文件夾下,C:\Qt\qt-everywhere-opensource-src-5.8.0\qtbase\mkspecs 。我這里是win32-msvc2017。進去之后,你會發現有一個qmake.conf文件。打開它。在qmake.conf文件在,你會發現一個include,請根據include中的路徑,找到對應文件並打開。
找到以下標志
- 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
修改好之后,運行configure
- configure -mp -confirm-license -opensource -release -static -force-debug-info -prefix "C:\Qt\msvc2017_static" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -nomake examples
為了加快編譯時間 我只編譯了release版本,大家可以根據自己需要選擇。
configure 完成之后,運行nmake nmake install 就ok了。
https://www.liberobk.com/cpp/228.html