天天看點

如何用Qt自動拷貝exe依賴的dll

QT生成的.exe檔案不能運作的解決辦法

之前的數獨項目的GUI,當我的Qt項目生成exe時,由于缺少了相關的依賴dll檔案,打開會一直報缺少依賴檔案的錯:

如何用Qt自動拷貝exe依賴的dll

然後一開始我到安裝的Qt檔案夾裡把這些有Qt生産的exe依賴的dll一個個拷貝了之後,還是會報缺依賴,後來發現有個qwindows.dll得放到建立的目錄platforms下,反正甚是麻煩。而且我自認為加全依賴後,本地能跑,到别人機器又是各種報錯,很煩惱。

實際上用QT自帶的windeployqt.exe工具運作需要處理的exe即可,指令如下:

C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin\windeployqt.exe myexe
           

這個windeployqt.exe在qt安裝包的bin檔案夾下,myexe為你vs生成的Qtexe,注意必須是Qt項目生成的exe.

示意圖如下:

如何用Qt自動拷貝exe依賴的dll

再看我們的檔案夾,發現不再是孤零零的exe了,相關的依賴都弄過來了!大功告成,很友善!

如何用Qt自動拷貝exe依賴的dll

通過這種方式可以很友善地找到我們的Qt項目依賴的包,而且會很全,如果手動一個個添加可能會出現還是缺漏、在本地能跑,但是在别人的機器又GG的情況,是以使用Qt自帶的windeployqt生成exe來釋出軟體,想必是極吼的。

Qt

繼續閱讀