很多Qt愛(ài)好者想發(fā)布自己的Qt軟件,但卻發(fā)現(xiàn)在其他沒(méi)有安裝Qt SDK的機(jī)器上無(wú)法運(yùn)行,這就是本文想要說(shuō)明的問(wèn)題,F(xiàn)在網(wǎng)上大部分軟件都要發(fā)布自己開(kāi)發(fā)的應(yīng)用程序,都會(huì)打包到exe文件中,待安裝完exe文件后,就會(huì)生成很多小文件,其實(shí)原理都一樣,只是各自使用的打包工具不能罷了。
本文主要介紹在Windows平臺(tái)如何打包自己的Qt程序,相對(duì)比較簡(jiǎn)單的,這并沒(méi)有正規(guī)軟件的向?qū)Я鞒獭?/p>
在Windows系統(tǒng)中,要打包Qt程序,主要會(huì)用到3個(gè)工具包,分別是:
1.hap-depends 查看軟件的依賴(lài)庫(kù)(*.dll)
2. ASPack 動(dòng)態(tài)鏈接庫(kù)壓縮軟件
2.filepack 軟件的打包工具
這三個(gè)在網(wǎng)上都有下載地址,本人在這里提供:
下載地址:
hap-depends + ASPack+ filepack
本文以《CSDN博客下載器》軟件為例,以下是一些打包程序的詳細(xì)步驟:
1.使用hap-depends工具打開(kāi)Qt應(yīng)用程序
2.打開(kāi)后,可以看到很多警告,那些警告(黃色問(wèn)號(hào))對(duì)應(yīng)的庫(kù)就是需要的動(dòng)態(tài)鏈接庫(kù),到Qt的安裝目錄拷貝到應(yīng)用程序的所在目錄即可。
3.到Qt的安裝目錄,xx/Qt/4.8.0/bin,可以看到很多*.dll文件
4.這些都是Qt的動(dòng)態(tài)鏈接庫(kù)
5.將警告對(duì)應(yīng)的dll文件拷貝到Qt程序目錄
6.此時(shí)可以打開(kāi)界面了,也能使用,但是在其他電腦是不正常的,因?yàn)槌绦蛑惺褂玫搅藞D片庫(kù),數(shù)據(jù)庫(kù)驅(qū)動(dòng),以及播放視頻庫(kù),需要使用這些插件。
7.Qt的plugins插件
8.將插件拷貝到程序的目錄,原來(lái)在plugins的sqldrivers目錄,拷貝到這里也文件夾名稱(chēng)必須保持一致。
9.程序啟動(dòng),拷貝到其他電腦也可以正常運(yùn)行了。
10.這是在壓縮dll文件,大部分是可以,但有些會(huì)失敗,所以在發(fā)布時(shí),必須在多臺(tái)電腦測(cè)試,從截圖可以看到,原來(lái)的文件變成了以.bak結(jié)尾的,大小相差挺大。當(dāng)然這一部不是必須的,因?yàn)楹竺娴拇虬ぞ呔涂梢詨嚎s文件了。
11.開(kāi)始打包Qt程序
12.這工具很簡(jiǎn)單,下一步就行,然后選擇程序?qū)?yīng)的目錄。
13.選擇要打包的可執(zhí)行文件。
14.設(shè)置
15.變量列表:指該打包后的程序被打開(kāi)時(shí),將文件解壓到什么位置,這可以選擇不同的變量來(lái)看看結(jié)果,一般程序都是放到臨時(shí)目錄,所以就選擇 "*Tempdir*"?蓤(zhí)行文件的輸出目錄隨便都行,打包完后拷貝出來(lái)即可。
16.
17.創(chuàng)建
18.封包成功
19.打完包后,程序有8.03MB,如果太大,打包,不然每次執(zhí)行都會(huì)重新解壓,影響速度。
還有其他比較高級(jí),比較復(fù)雜的程序打包工具,那些工具等以后要用到再去摸索。以上幾個(gè)工具包都不需要積分,大家可以無(wú)限下載。