Qt发布release程序之windeployqt打包-由于缺少Qt5Core.dll、libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll错误

简介

当写完一个程序之后想发布给全世界人民使用,于是你把编译选项的Debug改成了Release,然后你把Release文件夹下的文件打包发给友军,友军双击exe之后却出现了一堆错误提示,缺少xxx.dll文件。
于是你search了一下,明白了release之后还要使用windeoloyqt把相关的dll之类的玩意拷贝一份。于是乎你又将重新打包生成的文件发给友军,友军双击exe之后终于进入了你的世界。

事实上,当我对release使用了windeployqt发布之后,经过友军试验和自己在vm中亲测发现依然会提示dll文件缺失,只不过缺失的文件数量比没用windeployqt少而已。

敲黑板

  • 选择了Release编译
  • 系统变量Path里已经加入了Qt、mingw
  • 对Release之后的exe使用windeployqt
  • 还是报错缺少dll

问题描述

当我对release后的exe使用了windeployqt发布之后,经过vm中亲测发现依然会提示dll文件缺失
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决办法

在Qt安装目录下搜索相关dll文件,复制到windeployqt打包之后的目录
这些dll文件一般都在Qt\Qt5.14.2\5.14.2\mingw73_32\bin

当然除了windeployqt之外,有位大佬自己写了一个简易图形化打包工具

疑惑

已经使用了windeplotqt,为什么还会缺少dll呢。。。裂开了

References

  • windeployqt发布 https://blog.csdn.net/weixin_43031092/article/details/104837577
  • 自己写一个Qt发布软件 https://github.com/aeagean/DeployQt