一、簡述

QT專案開發完成後,需要打包釋出程式,在實際生產中不可能把原始碼發給別人,所以需要將原始碼打包正可執行檔案或者安裝程式。

二、設定應用圖示

把 ico 檔案放到原始碼目錄下,在QT專案中的'.pro'檔案中新增自己準備好的ico檔案(使用QT預設生成的圖示時,可以跳過這一步)

RC_ICONS = user.ico // user.ico是自己的圖示名稱

三、打包windows系統下的可執行檔案

  1. 以 Release 方式編譯生成 exe 程式,也就是使用Release模式除錯程式。

  2. 編譯完成後會在專案檔案下生成一個'build-Qt_hello_word-Desktop_Qt_5_12_9_MinGW_64_bit-Release'檔案,在檔案release中找.可執行檔案

  3. 現在的可執行檔案是不可執行的,會提示找不到.dll檔案

  4. 建立'QT_test'檔案,將生成的.exe檔案拷到'QT_test'檔案中

  5. 開啟MinGW,進入到'QT_test'檔案路徑下



  6. 在MinGW中使用windeployqt命令打包程式
windeployqt Qt_hello_word.exe



7. 執行完成後檔案中會生成很多dll檔案,這樣我們的可執行檔案就已經制作完成了,點選.exe檔案就可以直接執行





8. 使用Inno Setup軟體可以將執行檔案打包成安裝軟體,在這裡我就不過多介紹了,需要的小夥伴可以檢視這篇部落格,這裡我就直接引用一下Qt 程式釋出以及打包成exe安裝包

Inno Setup軟體的下載地址:https://jrsoftware.org/isdl.php

四、打包linux系統下的可執行檔案

linux系統下打包成成可執行檔案有兩種方式,如果系統中安裝有QtCreator軟體,直接以Release方式編譯執行即可生成可執行檔案,這裡主要介紹一下qmake的使用。

  1. 安裝qmake軟體

    在linux系統下打包可執行檔案需要使用qmake軟體,沒有安裝的可以安裝一下
sudo apt-get install qtchooser
  1. 將windows系統下的qt專案拷貝到linux系統下,將.pro.user檔案刪除



  2. 執行qmake命令生成Makefile檔案

  3. 使用make編譯生成可執行檔案

  4. 執行程式./hello_word

五、打包ARM環境下的可執行檔案

打包ARM平臺下的可執行檔案和linux系統下的方式是一樣的,同樣的有兩種方式,只不過ARM的qmake是qt-everywhere-src-5.12.9原始碼編譯生成的軟體,編譯完成後在路徑'arm-qt/bin'路徑下會生成qmake軟體,不知道怎麼編譯的小夥伴可以看我之前的QT之ARM平臺的移植

  1. 使用qmake軟體的方式編譯

    生成Makefile檔案並編譯
/home/linux/arm-qt/bin/qmake
make



2. 以Release方式編譯

在linux中裝有QtCreator軟體的小夥伴可以在軟體中新增arm環境下的qmake軟體,直接以Release方式編譯即可生成執行檔案。

開啟 Qt Creator 介面,找到 Tools(工具)→Options(選項)。



按下圖步驟,找到ARM平臺的qmake。



配置C/C++編譯器為 arm-linux-gnueabihf-g++



配置Kits



執行程式



編譯完成後將會在專案資料夾中生成ARM環境的可執行檔案

參考文獻

Qt 程式釋出以及打包成exe安裝包:https://www.cnblogs.com/ybqjymy/p/13540451.html

QT5程式打包釋出,最終生成一個.exe執行程式:http://blog.sina.com.cn/s/blog_96c6e6ef0102zx8y.html