天天看點

QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

QT程式打包配置手冊

  • 0-概述
  • 1-擷取動态連結庫
  • 2-程式打包
    • 2.1、工具
    • 2.2、工具簡介
    • 2.3、準備檔案
    • 2.4、程式打包過程
    • 2.5、HEU_DISdemo安裝過程
  • 3、結語

0-概述

當使用QT編寫完程式後,需要對程式進行打包,不然軟體隻能在裝有QT環境的電腦中運作,這顯然與我們制作軟體的初衷相違背。下面将詳細講述HEU_DISdemo程式打包的過程。其實打包分為兩個過程,第一部分是尋找可執行程式運作所依賴的動态連結庫,在windows下格式為*.dll ;第二部分才是将軟體打包。

1-擷取動态連結庫

QT的可執行程式所依賴的動态連結庫存放于QT的安裝目錄下,具體路徑為:

%QTRoot\Qt\Qt5.9.1\5.9.1\mingw53_32\bin 
           

我們僅需運作QT編譯的可執行檔案,當提示缺少*.dll檔案時,将此檔案從上述路徑拷貝出來即可。最終HEU_DISdemo.exe所需的可執行檔案如圖1所示。

QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

圖1 HEU_DISdemo依賴的動态連結庫

細心的你可能發現,這個目錄中所列除了各種動态連結庫檔案,還存在一個platforms的檔案夾。這個目錄下僅有一個qwindows.dll的動态連結庫檔案,這個檔案主要用于支援QT的程式在windows平台下運作。這個檔案的路徑為:

%QTRoot\Qt\Qt5.9.1\5.9.1\mingw53_32\plugins\platforms
           
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

圖2 platforms下的檔案截圖

2-程式打包

2.1、工具

HM NIS Edit + NSIS
           

2.2、工具簡介

NSIS是一款免費的win32安裝、解除安裝系統,具有腳本簡潔高效、系統開銷小的特點。進行安裝、解除安裝、設定、解壓也不在話下。簡而言之,就是把把圖1所示的目錄全部壓縮到一個安裝程式中,并讓使用者通過使用者向導進行安裝。

HM NIS Edit是一款NSIS代碼編輯器,這款編輯器存在一個NSIS代碼生成向導,這樣使用HM NIS Edit就能夠根據生成向導進行程式打包。

這兩款工具在網上很容易就下載下傳到,是以在這裡不作贅述。

2.3、準備檔案

在打包之前需要制作一個license.txt,不能為空,裡面可以撰寫此軟體的使用條件以及所需要遵守的協定等等,總之想寫點啥就寫啥。然後準備兩個ico格式的圖示,用于安裝程式和解除安裝程式。當然需要準備QT編寫的程式及動态庫檔案,如圖1所示。在這裡HEU_DISdemo軟體準備的檔案如圖3所示,其中bin目錄下放置的是圖1所示的檔案。

QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

圖3 打包所需準備的檔案

2.4、程式打包過程

  1. 利用向導制作安裝包

    打開HM NIS Edit軟體,選擇【檔案】->【建立腳本向導】。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  2. 歡迎界面

    首先看到的是歡迎界面,直接點選下一步。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  3. 填寫應用程式基本資訊
    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  4. 指定安裝程式選項

    這裡需要指定安裝程式的圖示、安裝程式位置和安裝程式語言,其他選項選擇預設參數。安裝語言選擇簡體中文,即SimpChinese。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  5. 設定應用程式安裝目錄與授權檔案

    這一步應用程式目錄不用更改,但是授權檔案一定需要指定,即指定圖3所示的license.txt檔案。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  6. 配置應用程式檔案

    首先删除預設的兩個檔案,即makensis.exe和License.txt檔案,雖然我也不知道這兩個檔案有什麼作用,但是删了沒有影響。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
    添加所需檔案,注意按照圖3所示的目錄結構進行添加,不然程式會無法運作。
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  1. 配置應用程式圖示

    主要關注紅色部分建立的快捷方式是否為我們所需要的,如果不是則需要進行手動修改,其他參數使用預設參數即可。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  2. 選擇安裝程式完成後運作的動作
    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  3. 配置解除安裝程式
    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
  4. 儲存腳本并編譯腳本

    選擇儲存腳本,并勾選編譯腳本,然後點選完成按鈕,如果不存在報錯的話,那麼HEU_DISdemo_Setup.exe安裝程式已經生成完畢。

    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
    QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

到這裡,程式已經打包完畢,HEU_DISdemo_Setup.exe即為我們所需的安裝程式。

2.5、HEU_DISdemo安裝過程

為了更好的說明打包程式的效果,在這裡給出HEU_DISdemo軟體的安裝過程。

QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語
QT程式打包配置手冊0-概述1-擷取動态連結庫2-程式打包3、結語

3、結語

其實使用HM NIS Edit向導進行打包程式還是比較簡單的,有不明白的地方可以在網上查詢相關資料。當然我覺得美中不足的是采用向導生成的安裝程式界面太醜了,感覺跟XP時代的安裝包一樣,如果想讓安裝程式界面更加美觀,可以詳細研究NSIS這個工具。