Qt 發布程式

2021-05-12 15:45:08 字數 1630 閱讀 4267

#define me freshman //我是新手,發現錯誤請指正

你已經很厲害,可以寫一些實現自己想法的程式了。

那麼,寫好了之後,你需要分發給使用者來使用。

可在本機可以執行的程式,到了客戶端卻總是無法執行。

要麼提示,程式配置錯誤,請重新安裝。。

(由於應用程式配置不正確,應用程式未能啟動)

(vc2005編譯的程式)

或者提示找不到需要的dll檔案,(沒有找到 **.dll,因此這個應用程式未能啟動)

(mingw32編譯的程式)

有兩種方法可以解決這個問題。

第一種,靜態編譯。

第二種,同時附上需要的dll檔案。

靜態編譯

優點,發布簡單,單一檔案。

缺點,庫檔案很大,更新程式版本不方便。每次公升級,都要重新分發所有的內容。

。。。。。

mingw平台靜態編譯,在編譯qt的時候,有個configure.exe 程式,

configure.exe -static-platform win32-g++

可以產生靜態編譯專案檔案。然後,

mingw32-make sub-src

就可以編譯出靜態庫。如果只是用來分發程式,也可以mingw32-make release sub-src只編譯乙個靜態庫。

vc2005平台,在編譯qt的時候,configure.exe -static-platform win32-msvc2005

然後nmake sub-src或者nmake release sub-src完成靜態編譯。

再然後,就是把你的程式重新用靜態編譯的qt再編譯一次。

你會得到乙個非常大的可執行程式。推薦使用asppack壓縮一下。就可以發給使用者了。

附加dll檔案

優點,更新方便,發布多個產品時,可以統一使用乙個庫。

缺點,檔案多、雜。

。。。

mingw編譯程式執行時需要的幾個dll檔案

mingwm10.dll

qtcore4.dll

qtgui4.dll

vc2005編譯程式執行時需要的幾個dll檔案

microsoft.vc80.crt.manifest

位於x:/program files/microsoft visual studio 8/vc/redist/x86//microsoft.vc80.crt

msvcm80.dll

msvcp80.dll

msvcr80.dll

qtcore4.dll

qtgui4.dll

推薦乙個很好用的工具,微軟出的乙個小工具dependency walker,也被微軟整合到了它的vs裡面。在

x:/program files/microsoft visual studio 8/common7/tools/bin/depends.exe

它可以檢測出絕大多數的程式需要的dll庫檔案。這樣,就不用手動去查詢缺失的dll檔案了。

另外,還有一些你程式附加的dll庫檔案,比如,sql.dll libpng.dll

下面,就可以發布你的程式了~

Qt程式發布

debug版本發布 附帶qt的bin目錄下q d4.dll 若程式中使用了qt的plugins 則在發布程式目錄下建立相應的plugins目錄 若用visual studio 2005編譯 則需visual studio安裝目錄下 vc redist debug nonredist x86 micr...

發布Qt程式

發布過程中常遇到的問題就是缺少dll。如果直接報缺少某某dll,問題很明顯。有時候報 這個錯誤不是很明顯,原因基本上還是缺少dll。解決辦法如下 切換到release模式,先build在clear,這樣就只剩下乙個可執行檔案,或者將可執行檔案單獨複製到乙個資料夾。這一步就是新增依賴的dll,網上用的...

Qt程式 發布過程

windows如何打包qt程式 很多qt愛好者想發布自己的qt軟體,但卻發現在其他沒有安裝qt sdk的機器上無法執行,這就是本文想要說明的問題。現在網上大部分軟體都要發布自己開發的應用程式,都會打包到exe檔案中,待安裝完exe檔案後,就會生成很多小檔案,其實原理都一樣,只是各自使用的打包工具不能...