1. 程式人生 > >QT程式自動尋找依賴的DLL(Qt官方開發環境生成的exe釋出方式--使用windeployqt)

QT程式自動尋找依賴的DLL(Qt官方開發環境生成的exe釋出方式--使用windeployqt)

 

Qt 官方開發環境使用的動態連結庫方式,在釋出生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 Qt 官方開發環境裡自帶了一個工具:windeployqt.exe以官方 Qt 5.7.0+MinGW 開發環境為例:

 

開始選單-->Qt 5.7.0-->5.7-->MinGW 5.3.0 (32-bit)-->Qt 5.7 for Desktop (MinGW 5.3.0 32 bit),可以開啟 Qt 命令列,從這裡就可以執行 windeployqt 工具。

整合開發環境 QtCreator 目前生成圖形介面程式 exe 大致可以分為兩類:Qt Widgets Application 和 Qt Quick Application。

1、Qt Widgets Application

 

1)首先用 QtCreator 新建一個 Qt Widgets Application 專案,直接用預設的 QMainWindow 程式就可以了,專案名字假定是 Login,然後以 Release 方式編譯生成可執行程式。

 

2)生成的程式執行正常之後,找到專案的生成目錄,比如專案原始碼路徑:E:\Qt\Login,進入它的專案生成目錄,拷貝出可執行程式,例如放置在 E:\QtApp中。


3)然後從開始選單開啟 Qt 命令列,

 

a.輸入命令 :cd /d E:\QtApp 進入目錄,

 

b.然後使用 windeployqt 工具命令:windeployqt Login.exe,

c.之後就可以看見windeployqt 工具自動複製的外掛資料夾和dll檔案、qm檔案。這時候得到的就完整的可執行程式釋出集合,依賴關係都解決好了。

 

4)之後通過其他的打包方式,或者使用Qt的install進行打包,即可生成單一可執行程式用於安裝釋出。

 

2、Qt Quick Application

 

 

       新建方式和生成Widgets程式相同,只是在查詢依賴的時候不同,需要使用命令windeployqt TestQt.exe --qmldir 指定qml目錄,進行復制依賴,之後打包方式也相同。