Qt5.4靜態編譯方法


靜態編譯,就是編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so或.lib)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。這樣就可以發布單一文件的EXE程序了。

工具/原料

  • Qt庫
  • Python
  • Perl
  • Ruby

安裝Perl

  1. 1

    雙擊從官網下載的安裝包進入安裝界面

    Qt5.4靜態編譯方法
  2. 2

    安裝時注意選擇這兩項

    Qt5.4靜態編譯方法

安裝Python

  1. 1

    雙擊從官網下載的安裝包進入安裝界面

    Qt5.4靜態編譯方法
  2. 2

    安裝完成后,需要將安裝目錄添加到系統環境變量Path中

    Qt5.4靜態編譯方法

安裝Ruby

  1. 1

    雙擊從官網下載的安裝包進入安裝界面

    Qt5.4靜態編譯方法
  2. 2

    注意選擇這一項

    Qt5.4靜態編譯方法

安裝Qt

  1. 1

    方法一:從官網下載源碼zip壓縮包直接解壓即可

  2. 2

    方法二:從官網下載對應編譯器的安裝包進行文件安裝

  3. 3

    安裝完成后,需要將安裝目錄添加到系統環境變量Path中

    Qt5.4靜態編譯方法

靜態編譯Qt

  1. 1

    打開命令行

    Qt5.4靜態編譯方法
    Qt5.4靜態編譯方法
  2. 2

    輸入gcc -v命令查看gcc編譯器是否正確;配置正確,如下圖所示

    Qt5.4靜態編譯方法
  3. 3

    輸入perl -v命令查看Perl解析器是否配置正確,配置正確顯示如下圖

    Qt5.4靜態編譯方法
  4. 4

    輸入python命令查看Python是否配置正確,正確顯示如下圖,按Ctrl+Z回車可以退出Python

    Qt5.4靜態編譯方法
  5. 5

    切換到Qt源碼目錄,假設為D:\Qt

    命令為:

    D:

    cd D:\Qt

    上述路徑可以根據自己的實際路徑進行修改

    Qt5.4靜態編譯方法
  6. 6

    輸入如下命令進行配置

    configure.bat -confirm-license -opensource -platform win32-g++ -mp -release -static -prefix "C:\Qt\5.4.0_MinGW_static" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit -skip qtwebengine

    其中的"C:\Qt\5.4.0_MinGW_static"為生成的靜態編譯代碼庫的路徑,可以根據自己的需求進行相應更改

    Qt5.4靜態編譯方法
  7. 7

    配置完成如下圖所示

    Qt5.4靜態編譯方法
  8. 8

    輸入以下命令進行編譯

    mingw32-make

    過程較長,大約幾小時

  9. 9

    輸入以下命令進行安裝

    mingw32-make install

    安裝完成如下圖所示

    Qt5.4靜態編譯方法

配置Qt Creator

  1. 1

    添加上一部編譯好的靜態Qt版本

    Qt Creator -> Tools -> Options -> Build & Run -> Qt Versions,點擊Add添加qmake,如圖所示

    Qt5.4靜態編譯方法
    Qt5.4靜態編譯方法
  2. 2

    添加完成,點擊“Apply”

    Qt5.4靜態編譯方法
  3. 3

    設置套件

    切換到“Kits”選項卡,點擊“Add”如圖進行配置,完成后點擊OK退出設置

    Qt5.4靜態編譯方法
  4. 4

    打開C:\Qt\5.4.0_MinGW_static\mkspecs\win32-g++\qmake.conf,找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,將后面改成-static,如圖所示

    Qt5.4靜態編譯方法

如何使用靜態編譯庫

  1. 1

    至此Qt5.4.0靜態編譯配置完成

  2. 2

    新建工程時選擇靜態編譯的套件,如圖所示

    Qt5.4靜態編譯方法
  3. 3

    對工程進行編譯時選擇Release版本,如圖所示

    Qt5.4靜態編譯方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM