windeployqt
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。
因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。
步骤
- 首先运行需要打包的程序,生成release版本
- 找到工程对应的release文件夹,复制里面的.exe程序到一个单独的文件夹中
- 然后找到Qt 5.14.2 (MinGW 7.3.0 32-bit),打开控制台程序
cd到你需要打包exe所在我文件夹
cd /d F:\QT_package
使用windeployqt 对工程进行打包
- Qwidget:
windeployqt xxx(工程文件名).exe
windeployqt untitled.exe
- QML:
windeployqt xxx(工程文件名).exe -qmldir D:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml(qml所在的安装目录)
windeployqt untitled.exe -qmldir D:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml
- 等待系统打包完成
- 如果你的源码使用了三方库或者生成了动态链接库,那么需要手动将需要的dll文件复制到目录下,实际运行试试,是不是可以正常运行。
(很多博文中都说明,在这里就表明依赖关系都弄好了,但根据我实际使用,仍有漏网之鱼)