一、簡述
QT項目開發完成后,需要打包發布程序,在實際生產中不可能把源碼發給別人,所以需要將源碼打包正可執行文件或者安裝程序。
二、設置應用圖標
把 ico 文件放到源代碼目錄下,在QT項目中的'.pro'文件中添加自己准備好的ico文件(使用QT默認生成的圖標時,可以跳過這一步)
RC_ICONS = user.ico // user.ico是自己的圖標名稱
三、打包windows系統下的可執行文件
- 以 Release 方式編譯生成 exe 程序,也就是使用Release模式調試程序。
- 編譯完成后會在項目文件下生成一個'build-Qt_hello_word-Desktop_Qt_5_12_9_MinGW_64_bit-Release'文件,在文件release中找.可執行文件
- 現在的可執行文件是不可運行的,會提示找不到.dll文件
- 創建'QT_test'文件,將生成的.exe文件拷到'QT_test'文件中
- 打開MinGW,進入到'QT_test'文件路徑下
- 在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的使用。
- 安裝qmake軟件
在linux系統下打包可執行文件需要使用qmake軟件,沒有安裝的可以安裝一下
sudo apt-get install qtchooser
- 將windows系統下的qt項目拷貝到linux系統下,將.pro.user文件刪除
- 執行
qmake
命令生成Makefile文件
- 使用
make
編譯生成可執行文件
- 運行程序
./hello_word
五、打包ARM環境下的可執行文件
打包ARM平台下的可執行文件和linux系統下的方式是一樣的,同樣的有兩種方式,只不過ARM的qmake是qt-everywhere-src-5.12.9源碼編譯生成的軟件,編譯完成后在路徑'arm-qt/bin'路徑下會生成qmake軟件,不知道怎么編譯的小伙伴可以看我之前的QT之ARM平台的移植
- 使用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。