Qt程序Windows部署前打包方法

时间:2025-02-07 09:02:56

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就需要自己再去找。