#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檔案後,就會生成很多小檔案,其實原理都一樣,只是各自使用的打包工具不能...