打包QT5 release版本程式
一、背景
畢業多年了,今晚整理某網盤時看到以前C++課設的QT游戲程式,于是就download下來玩玩,
可雙擊exe,各種報錯提示:

解決一個又一個dll,一番折騰后,還是打不開,無奈之下,下載原始碼,重新編譯發布,
二、安裝QT 5.6.1和VS2013
此處放出Qt下載鏈接qt-opensource-windows-x86-msvc2013-5.6.1.exe
三、搗鼓運行程式
在Qt create中打開課設專案,其檔案結構如下

編譯構建失敗
一堆錯誤,排查后確認是檔案編碼格式有問題,將程式.h和cpp檔案使用editplus打開后另存為UTF-8格式,
中文亂碼
搞了一通后,Qt create中的檔案編輯器也要設定為UTF-8,BOM:如果編碼是UTF-8則添加,

四、構建release版本
先是debug沒問題了,然后切換到release模式,構建運行,總是提示
無法打開檔案“release/Millionaire.exe”
清除專案/重新構建/關閉QT,瘋狂某度搜索,stackflow,沒找到解決方案.
要不關機試下吧,關閉打開的視窗,此時36O殺毒跳出提示:Millionaire.exe為惡意檔案,點擊信任,奇怪的事情發生了,release可以構建成功了,哇,36O這操作可以啊,難受一批,
五、使用windeployqt增加依賴
將
C:\workspace\QTworkSpace\build-Millionaire-Desktop_Qt_5_6_1_MSVC2013_64bit-Release\release\
檔案夾下的Millionaire.exe
拷貝到一個新檔案夾
C:\workspace\QTworkSpace\outputRelease\Millionaire\
在開始程式中,打開Qt 5.6 64bit for Desktop


輸入:
cd /d
你的Millionaire.exe的路徑
我的路徑是C:\workspace\QTworkSpace\outputRelease\Millionaire\,即輸入
cd /d C:\workspace\QTworkSpace\outputRelease\Millionaire\
回車,然后輸入
windeployqt Millionaire.exe
上邊命令是,windeployqt將Millionaire.exe依賴添加到C:\workspace\QTworkSpace\outputRelease\Millionaire\目錄下
六、打包生成單檔案exe
安裝BoxedAppPacker,并使用它打包生成單檔案exe可執行程式
打開BoxedAppPacker后,按圖操作

選擇Millionaire檔案夾

選項,勾選壓縮檔案:

點擊構建:

檔案夾下生成打包后的exe檔案,

雙擊運行,拷貝給朋友同樣也可運行

七、打包時有個坑,exe沒有聲音

用Enigma Virtual Box 打包出來的程式沒有聲音,里邊的游戲音效在運行時沒有播放,

搗鼓一番,決定換打包工具,也就是換成了BoxedAppPacker,結果也是沒有聲音,需要將music檔案夾匯入,再打包
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/338199.html
標籤:其他
上一篇:基于python的游戲市場分析
