QT靜態編譯程序(Mingw編譯)

1. 爲什麼要靜態編譯程序?

在默認情況下,用QtCreator編譯程序時,使用的是動態編譯,這就導致編譯好的程序在運行時需要另外加上相應的Qt庫文件,以及一大堆dll文件。如果想將生成的程序連同所需要的庫一起完整地打包成一個可執行程序,並且可以在一臺沒有開發環境的電腦上運行,那就需要使用靜態編譯。

2. 運行環境

Windows10
QT Creator 4.11.0
QT 5.14.0 + Python 3.6 + gcc 7.3.0 + perl 5.22.1

3. 實現步驟

(1)安裝QT
QT5.14.0下載地址:http://download.qt.io/archive/qt/5.14/5.14.0/
選擇圖中所示版本下載
在這裏插入圖片描述
安裝QT時,記得勾選“Sources”
在這裏插入圖片描述
(2)安裝Perl
下載地址:https://www.perl.org/get.html
推薦下載Strawberry Perl,因爲相比於ActiveState Perl,它不用註冊就可以直接下載
安裝目錄:D:\SoftwareInstall\StrawberryPerl\perl
環境變量安裝過程自動添加的,如果沒有添加,手動添加:

D:\SoftwareInstall\StrawberryPerl\perl\site\bin
D:\SoftwareInstall\StrawberryPerl\perl\bin

(3)安裝Python
安裝過程記得勾選添加PATH環境變量
安裝目錄:D:\SoftwareInstall\Python3.6
環境變量安裝過程自動添加的,如果沒有添加,手動添加:

D:\SoftwareInstall\Python3.6\Scripts
D:\SoftwareInstall\Python3.6

(4)安裝環境檢查
打開QT 5.14.0(MinGW 7.3.0 32-bit)
在這裏插入圖片描述
輸入以下命令檢查gcc編譯器配置是否正確

gcc -v

輸入以下命令檢查perl解釋器配置是否正確

perl -v

輸入以下命令檢查python配置是否正確

python

輸入exit()或者ctrl+z退出python

(5)配置靜態比編譯QT信息
在D:\SoftwareInstall\Qt5.14.0\5.14.0新建一個文件夾mingw73_32_static,用於存放編譯後的文件
在這裏插入圖片描述
切換到QT的源碼目錄D:\SoftwareInstall\Qt5.14.0\5.14.0\Src
輸入以下命令:

configure.bat  -static -release -confirm-license  -opensource -opengl desktop -platform win32-g++  -prefix "D:\SoftwareInstall\Qt5.14.0\5.14.0\mingw73_32_static" -sql-sqlite  -sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs  -nomake tools -nomake examples -nomake tests -skip qt3d  -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview

(6)開始編譯(時間較長,大約3-4小時)
在第(5)步配置完畢並且沒有輸出錯誤信息時,即可開始編譯,在剛纔的命令行窗口輸入以下命令進行編譯:

mingw32-make

若電腦性能較好,可以使用多線程進行編譯:

mingw32-make -j2

ps:這裏使用的是2個線程

(7)安裝
在編譯完成後,在剛纔的命令行窗口輸入以下命令進行安裝:

mingw32-make install

安裝完成後,便可以在mingw73_32_static中,看到如下內容:
在這裏插入圖片描述

(8)相關配置
修改D:\SoftwareInstall\Qt5.14.0\5.14.0\mingw73_32_static\mkspecs\common\g+±win32.conf
在conf文件中新增QMAKE_LFLAGS = -static
在conf文件中修改QMAKE_LFLAGS_DLL = -static
在這裏插入圖片描述
(9)QT Creator中配置靜態編譯器
工具->選項
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
克隆一個原來的,並修改以下標紅框的選項
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章