QT Creator 应用程序*.exe文件打包发布详细教程【绿色便携形式 和 安装包形式】
??說明:本文相關(guān)操作均基于 Windows10 操作系統(tǒng) + Qt應(yīng)用程序框架(5.14.1) + Qt Creator 集成開發(fā)環(huán)境(4.11.1) +MinGW編譯環(huán)境,Qt 及 IDE的版本查詢(Qt Creator菜單欄→幫助→About Qt Creator)。
一、.exe文件圖標(biāo)修改
??在打包發(fā)布程序之前,我們可能需要先給可執(zhí)行程序(.exe文件)一個(gè)好看的圖標(biāo)。首先我們知道,可以通過 “Qt Creator IDE→設(shè)計(jì)→屬性→windowIcon” 屬性直接設(shè)置軟件運(yùn)行后的主窗體圖標(biāo),或者直接通過setWindowIcon(QIcon("你的圖片路徑"))函數(shù)也可以設(shè)置。但要設(shè)置生成的 .exe 文件的圖標(biāo),則需要以下步驟。
二、綠色便攜版—打包教程
??綠色便攜版提供一個(gè)文件夾,該文件夾可以拷貝到任意Windows系統(tǒng)的電腦上通過雙擊 .exe 文件直接運(yùn)行,無需安裝 Qt 環(huán)境。假設(shè)新建文件夾 ”GreenSoftwarePack“ ,步驟如下:
調(diào)整工程編譯運(yùn)行方式為 Release,如下圖所示。
構(gòu)建運(yùn)行程序后,將出現(xiàn)相應(yīng)的基于 release 版本構(gòu)建的文件夾。
進(jìn)入該文件夾下的 release 文件夾,找到 " 工程名.exe " 文件,將該 .exe 文件拷貝到綠色便攜版文件夾 ”GreenSoftwarePack“ 。此時(shí),如果你在安裝 Qt 的時(shí)候?qū)⒏鞣N庫的路徑添加到了環(huán)境變量中,在你的本機(jī)上雙擊該 exe 文件,有可能是能運(yùn)行成功的,但是直接把該文件拷貝給到別人的機(jī)器上是運(yùn)行不了的,因?yàn)槿鄙傧嚓P(guān)的動(dòng)態(tài)庫文件,手動(dòng)拷貝各種所需的庫文件雖然也是一種解決方法,但沒有這么干的 ( ?? ω ?? )y 。
為此,Qt 自帶了一個(gè)拷貝 .exe 程序依賴庫的工具 —— windeployqt 。按 Win+Q 鍵搜索 qt ,調(diào)出你的編譯器,我用的是 MinGW,如果你安裝 Qt 應(yīng)用程序框架的時(shí)候把 bin 目錄添加到了環(huán)境變量,也可以直接通過控制臺(tái)進(jìn)行下面的操作。
輸入如下命令,跳轉(zhuǎn)到你要打包的文件夾路徑下(也就是剛剛創(chuàng)建的綠色便攜包文件夾 GreenSoftwarePack)。
??還有一種情況就是,當(dāng)使用 SQLite 數(shù)據(jù)庫的時(shí)候,即使按照上面的步驟將所有數(shù)據(jù)庫相關(guān)的 .dll 拷貝到了文件夾中,但涉及數(shù)據(jù)庫相關(guān)的所有功能仍然都無法使用。這時(shí)候,首先看看你的數(shù)據(jù)庫文件有沒有建立,即有沒有成功創(chuàng)建出 xxx.db 文件,若數(shù)據(jù)庫文件已經(jīng)成功創(chuàng)建,則可能是源代碼中的問題,請逐步調(diào)試,若數(shù)據(jù)庫文件都沒有創(chuàng)建成功,請參考我的這篇博客:(博客中的方法也可能適用于其他 xxx.dll 不存在的情況)
Qt .exe文件打包發(fā)布,SQLite數(shù)據(jù)庫無法使用?拷貝了dll也不行?
三、安裝包版—打包教程
??綠色便攜版提供一個(gè) .exe 格式的可執(zhí)行文件,運(yùn)行該 exe 文件可以按照向?qū)нM(jìn)行軟件的安裝,首先明確安裝包版本的正常運(yùn)行的前提是,上面的綠色便攜版已經(jīng)成功實(shí)現(xiàn),雙擊其 exe 文件可以正常運(yùn)行,且不存在問題。打包教程如下所示:
首先,我們要用到一個(gè)小軟件:Inno Setup 。該軟件為 Windows 程序提供免費(fèi)的安裝程序設(shè)計(jì),且支持用腳本的方式修改程序安裝設(shè)計(jì)步驟。Inno Setup 于 1997 年首次推出,如今在功能集和穩(wěn)定性方面可與許多商業(yè)安裝程序相媲美,甚至超過了許多。支持自 2006 年以來的每個(gè) Windows 版本,包括現(xiàn)在最新的 Windows 11。
官方下載地址:Inno Setup 官方下載地址,下載后按步驟安裝即可。
安裝成功后,運(yùn)行軟件,關(guān)閉歡迎界面,點(diǎn)擊 ”File>New…“ ,然后點(diǎn)擊【Next】。
按照提示輸入你的應(yīng)用程序名稱、版本、發(fā)布者、網(wǎng)站,然后點(diǎn)擊【Next】,這些信息稍后會(huì)生成在腳本中,后期可以通過腳本進(jìn)行修改。
定義打包文件的輸出路徑和輸出文件夾的名稱,然后點(diǎn)擊【Next】 。
這時(shí)就用到了上面的綠色便攜版,首先添加你要打包的應(yīng)用程序的可執(zhí)行文件,就是那個(gè) .exe 文件,然后添加所有依賴的動(dòng)態(tài)庫文件、資源文件、配置文件,如下圖中的紅綠指示框所示。(可以把所有需要的文件放到一個(gè)文件夾里,然后點(diǎn)擊 Add folder),點(diǎn)擊【Next】。
點(diǎn)擊【Next】。
創(chuàng)建快捷方式相關(guān)的選項(xiàng),根據(jù)需要選擇,點(diǎn)擊【Next】。
選擇 “許可文件”,“安裝前的文件”(如下圖左側(cè)的Readme 文件等,會(huì)在啟動(dòng)安裝程序后彈窗展示),“安裝后顯示信息” 等,點(diǎn)擊【Next】。
選擇安裝模式是為計(jì)算機(jī)上所有用戶安裝,還是僅為當(dāng)前用戶安裝等配置,點(diǎn)擊【Next】。
選擇安裝語言,點(diǎn)擊【Next】。
選擇 “編譯器輸出文件夾”、“編譯器輸出基本文件名”、“安裝程序圖標(biāo)文件”及“安裝密碼”,點(diǎn)擊【Next】。
選擇是否使用 #define 編譯指令,選擇 yes 也就是在生成的腳本里使用 #define 宏定義一些常量,方便腳本編寫,勾不勾選隨意,然后點(diǎn)擊下一步;
點(diǎn)擊 finish ,開始進(jìn)行腳本的生成,腳本中的相關(guān)信息就是根據(jù)上面那些設(shè)置產(chǎn)生的。
生成腳本后會(huì)提示是否立刻進(jìn)行腳本的編譯,可以直接編譯,也可以自己看著修改一些內(nèi)容,不用擔(dān)心看不懂,就是上面設(shè)置的相關(guān)內(nèi)容,看著修改即可,
??如果更新了軟件版本,重新打包了應(yīng)用程序的exe文件,可以不重復(fù)上述流程,直接將之前的 exe 文件替換掉,然后用之前生成的腳本文件運(yùn)行,即可生成新版本的 exe 安裝包文件,當(dāng)然腳本可以略做修改,比如軟件版本等信息。
??腳本編譯的最后產(chǎn)出就是 exe 安裝包文件,雙擊 exe 安裝文件即可進(jìn)行軟件安裝,該安裝文件可以在任意 Windows 機(jī)器上運(yùn)行。
總結(jié)
以上是生活随笔為你收集整理的QT Creator 应用程序*.exe文件打包发布详细教程【绿色便携形式 和 安装包形式】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [音乐天堂]Eventide
- 下一篇: 蛮力法查找有序数列c语言,算法——蛮力法