轉載: https://blog.csdn.net/windsnow1/article/details/78004265
最近,在學習QT5的過程中,想嘗試着把自己寫的工程程序給打包發佈出來,在任何一臺windows系統都能運行,這樣就不會限於電腦需不需要安裝QT安裝包了。
首先,先介紹自己使用的環境。我使用的QT版本是
。我的電腦windows系統是win10專業版的。下面的打包教程,都是親測可用的。但個人認爲,即便是不同的windows操作系統,不同的QT版本,也應該是可以的。希望大家能及時反饋,我好及時更新。
第二,介紹一下我所使用的打包工具。一個是QT5自帶的windeployqt(這個大家不需要下載安裝),另外一個是Engima Virtual Box,這是下載鏈接Engima Virtual Box,軟件圖標如下:
。
做好這些準備工作之後,操作步驟如下:
<1>: 打開一個QT程序,以release方式運行一次。操作如下圖:
。
這時你的工程項目文件夾下,會生成一個關於release的文件夾:
。
<2>:打開關於release相關的文件夾,找到該目錄下release目錄下的.exe程序。此時你點擊是運行不成功的。因爲缺少QT必要的庫文件。將這個.exe文件拷貝出來,創建一個單獨的文件夾,放在這個文件夾下。
<3>:在win10下,搜索QT,如下圖:
打開紅色標記的命令窗口 :
其實在QT目錄下是可以找到這個目錄的。
接着輸入命令行,cd /d 路徑(指的是需要打包的exe程序目錄,就是剛纔拷貝出來的exe程序所在的目錄),回車後:
輸入如下命令行:windeployqt 程序名 敲擊回車。這一步操作是將所需的庫文件全都拷貝到exe程序的當前文件:
這時我們看程序目錄如下:
此時,在當前目錄下是可以點擊運行exe程序的,說明庫文件都已經拷貝到當前目錄下了。現在只需要將這一堆文件進行打包。
<4>打開運行Enigma Virtual Box:
按照上圖的示意,添加路徑和文件如下圖。文件可以託選,選擇所有文件後,直接拖入界面框內。注意是要所有文件和文件夾全部拖進。示意圖如下:
在【Files Options】中可以選擇是否將文件壓縮:
然後點擊Process開始打包。
打包完成後,我們的工作就完成了,去程序打包後的路徑點擊運行吧。