關鍵詞:Qt、windeployqt、Enigma Virtual Box、單文件、綠色軟件
為什么要打成單文件?
- 傳統做法:用
windeployqt
把依賴拷進 release 目錄,發給用戶一個文件夾,文件又多又亂。 - 理想做法:把整個目錄壓成一個 .exe,雙擊即跑,拷貝即走,干凈清爽。
Enigma Virtual Box(下文簡稱 EVB)就是干這件事的免費利器。官方下載:https://enigmaprotector.com
🚀 打包全流程(圖文詳解)
📂 第一步:準備 QT 程序
-
使用 Release 模式 編譯程序
bash
qmake && make release
-
在編譯目錄找到生成的
.exe
文件(如MyApp.exe
)
📦 第二步:收集依賴文件
-
使用 Qt 自帶的部署工具:
bash
windeployqt --release MyApp.exe
-
手動補充常見缺失 DLL:
路徑:QT安裝路徑 C:\Qt\Qt5.14.1\5.14.1\mingw73_32\bin
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
opengl32sw.dll
🌐 第三步:新建一個空白文檔
在文件資源管理器上任意位置新建一個空白文件夾(文件夾名最好是英文),我的是Demo,找到自己的工程所在文件夾,里面的build-uart-Desktop_Qt_5_14_1_MinGW_32_bit-Release文件夾,將之前編譯的release文件夾里面的.exe文件拷貝到自己建Demo文件夾中。
🚀 第四步:在這里一鍵收集依賴庫
點擊鼠標右鍵進入終端。
在終端中執行:**windeployqt MyApp.exe`**指令
(windeployqt + 你的exe文件名),我這里執行windeployqt32 uart.exe是因為我的軟件有的是32位,有的是64位,我為了區分,才這樣弄。
執行完后,剛剛新建的Demo文件夾會出現相關目錄。 Qt5Core.dll、platforms 目錄、各種 qml/QtQuick 目錄等
🛠? 第五步:配置 Enigma Virtual Box
打開Enigma Virtual Box軟件。
EVB 主界面很簡潔,只有兩個必填項:
- ① 輸入文件:選
MyApp.exe
- ② 輸出文件:自動生成
MyApp_boxed.exe
,可改路徑。
選擇完文件后需要添加依賴庫,按照圖片中的順序。
這里需要選擇剛剛建的Demo文件夾。彈出的框直接點擊確定。
到這里就打包完成了,打包完成的文件也會在剛才的文件夾里,如果在這里面雙擊打不開,可以按照上面的方法把那幾個.dll文件粘進來,這樣就完成了QT程序的打包。
如果本文幫到了你,歡迎點贊/收藏;打包過程中遇到別的坑,歡迎留言交流!