Qt 官方開發環境使用的動態鏈接庫方式,在發布生成的exe程序時,需要復制一大堆 dll,如果自己去復制dll,很可能丟三落四,導致exe在別的電腦里無法正常運行。
因此 Qt 官方開發環境里自帶了一個工具:windeployqt.exe。
編譯出可運行程序,編譯工具不限,可以是qtcreater或者visual studio或者其他。
-
將可運行程序和非qt相關的庫拷貝到干凈的文件夾下,如:
-
運行qt環境,我是使用的osgeo4w64的環境,啟動后開啟Qt5的環境,如下:
-
運行windeployqt,如下:
說明: --qmldir D:\workspace\gisstore_client_cpp\gisstore_client_cpp\xclient\qml xclient.exe
--qmldir制定開發包內的qml文件所在的目錄,我的qml所在的目錄為 D:\workspace\gisstore_client_cpp\gisstore_client_cpp\xclient\qml,xclient.exe為要打包的程序。命令運行結果如下:
現在,xclient.exe的文件夾下多了一些文件夾和庫文件,現在我們運行我們的程序就沒有問題了。
其他參考文章
https://blog.csdn.net/sinat_36264666/article/details/73305712
https://stackoverflow.com/questions/35195687/proper-way-to-deploy-qml-applications-on-windows