如何用Qt自动拷贝exe依赖的dll

QT生成的.exe文件不能运行的解决办法

之前的数独项目的GUI,当我的Qt项目生成exe时,由于缺少了相关的依赖dll文件,打开会一直报缺少依赖文件的错:

《如何用Qt自动拷贝exe依赖的dll》

然后一开始我到安装的Qt文件夹里把这些有Qt生产的exe依赖的dll一个个拷贝了之后,还是会报缺依赖,后来发现有个qwindows.dll得放到新建的目录platforms下,反正甚是麻烦。而且我自认为加全依赖后,本地能跑,到别人机器又是各种报错,很烦恼。

实际上用QT自带的windeployqt.exe工具运行需要处理的exe即可,命令如下

C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin\windeployqt.exe myexe

这个windeployqt.exe在qt安装包的bin文件夹下,myexe为你vs生成的Qtexe,注意必须是Qt项目生成的exe.

示意图如下:

《如何用Qt自动拷贝exe依赖的dll》

再看我们的文件夹,发现不再是孤零零的exe了,相关的依赖都弄过来了!大功告成,很方便!

《如何用Qt自动拷贝exe依赖的dll》

通过这种方式可以很方便地找到我们的Qt项目依赖的包,而且会很全,如果手动一个个添加可能会出现还是缺漏、在本地能跑,但是在别人的机器又GG的情况,因此使用Qt自带的windeployqt生成exe来发布软件,想必是极吼的。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注