通常情況下,使用qt開發應用都是採用動態編譯的方式來進行發布,發布應用的時候就需要將相應的動態鏈結庫檔案一起發布了。應用依賴於哪些dll檔案呢?一般來講,有qtcore4.dll、qtgui4.dll之類的了。但是,由於應用可能涉及到其它的模組,如網路模組等。可以檢視乙個.pro檔案了解應用具體涉及到哪些模組。還有乙個辦法是,如果安裝了vc6,則可以使用depends命令開啟乙個依賴檢視工具,直接開啟你的exe檔案便可看到它所依賴的dll檔案。複製出來即可,放在exe檔案所在的目錄即可。
另外還有一部分,是外掛程式,這些外掛程式是depends工具顯示不出來的依賴關係,因為只有在應用執行的時候才會動態地去載入。這也是為什麼很多跟我一樣的新手會遇到「找不到資料庫驅動」,「亂碼」等問題的原因。
根據官方的說明:
這樣也是正常執行的。重要的,其實是只有一點。使用qt的外掛程式時,要注意帶上相應的目錄。如果有一點qt外掛程式開發的經驗的話,理解起來就比較方便吧。
還有需要提醒的一點,就是、文字編碼的外掛程式。使用起來和上面的例子一樣,只是容易被忽略掉。等到發布應用後,發現亂碼了,或者是按鈕上的顯示不了等問題是,就應該想到這一點。開發的時候一切正常,在沒有qt環境的機器上測試的時候,怎麼就都不正常了呢?八成就是少了這些外掛程式。
另外,在windows環境上開發,可以使用sysinternalssuite工具來檢視應用在執行時具體依賴了哪些dll檔案。它是微軟提供的一套開發小工具集合。其中的process explorer工具可以檢視系統程序並顯示出這個程序使用到的dll以及dll所在的目錄。當應用載入不了dll,或者載入了錯誤的dll時,用它就更加方便了。
——————————————————————————–
以上內容都是一些小常識,也許大家早就明了了。可惜我這個新手在上面還是吃過大虧,希望對遇到類似問題的朋友有一定的幫助。
Qt 發布應用程式
qt 官方開發環境使用的動態鏈結庫方式,在發布生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 qt 官方開發環境裡自帶了乙個工具 windeployqt.exe。以官方 qt 5.8.0 mingw 開發環境為例,從開始選單...
Qt發布應用程式
1.首先找到你的qt的安裝位置 例如我的位置 d qt58 找到d qt58 5.8 msvc2015 64 bin windeployqt.exe 2.找到你想要發布的應用程式的資料夾 例如我的位置 d xx qtdoc build release release xtest.exe 3.管理員方...
windows下Qt打包發布應用
qt發布應用 qt 官方開發環境裡自帶了乙個工具 windeployqt.exe。開啟命令列 在qt快捷方式裡面有乙個如下圖的工具 開啟後如圖 release執行一遍,之後找到.exe檔案,可以把這個檔案單獨拷貝出來。然後,跳轉到這個目錄下輸入windeployqt exe 執行所需的dll就複製到...