如何用Qt自动拷贝exe依赖的dll
QT生成的.exe文件不能运行的解决办法
之前的数独项目的GUI,当我的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.
示意图如下:
再看我们的文件夹,发现不再是孤零零的exe了,相关的依赖都弄过来了!大功告成,很方便!
通过这种方式可以很方便地找到我们的Qt项目依赖的包,而且会很全,如果手动一个个添加可能会出现还是缺漏、在本地能跑,但是在别人的机器又GG的情况,因此使用Qt自带的windeployqt生成exe来发布软件,想必是极吼的。