1.需求
很多公司都在使用Qt作為GUI庫,在開發者的計算機上通常是利用配置PATH環境變量來實現調用Qt的DLL。然而當把開發后的軟件直接部署在客戶的電腦上,如果沒有對應版本Qt的bin目錄,就不能正常運行Qt程序,會報出缺少Dll,一般有經驗的程序員會在一台干凈的Windows虛擬機上反復運行自己編譯的程序,通過報錯來找出缺少的DLL,一個個復制到目錄下,從而解決問題。或者把整個Qt目錄下的dll分為Debug和Release兩部分,然后根據需要把全部的Dll都給客戶打包過去,后果就是這個包的體積很大。
2.解決方法
其實Qt從5.2以后是已經實現了一個為Windows開發者定制的部署工具,在QTDIR\5.X\XXXXXX\bin下的windeployqt.exe
只需要你在環境變量PATH中添加所需Qt版本的BIN目錄路徑,然后在CMD中運行
- windeployqt.exe [你的APP文件路徑]
就可以自動復制所需的全部Qt的dll到你開發的APP的目錄下。當然你如果還調用了其他運行時庫的dll(如msvcp***.dll)就需要自己再去找對應的dll或者環境安裝程序。