windeployqt

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。
因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。


步骤

  • 首先运行需要打包的程序,生成release版本
  • 找到工程对应的release文件夹,复制里面的.exe程序到一个单独的文件夹中
  • 然后找到Qt 5.14.2 (MinGW 7.3.0 32-bit),打开控制台程序image.png
  • cd到你需要打包exe所在我文件夹

    1. cd /d F:\QT_package
  • 使用windeployqt 对工程进行打包

  • Qwidget:

windeployqt xxx(工程文件名).exe

  1. windeployqt untitled.exe
  • QML:

windeployqt xxx(工程文件名).exe -qmldir D:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml(qml所在的安装目录)

  1. windeployqt untitled.exe -qmldir D:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml

image.png

  • 等待系统打包完成
  • 如果你的源码使用了三方库或者生成了动态链接库,那么需要手动将需要的dll文件复制到目录下,实际运行试试,是不是可以正常运行。

(很多博文中都说明,在这里就表明依赖关系都弄好了,但根据我实际使用,仍有漏网之鱼)