Qt5打包后缺少dll,启动失败问题

Qt5打包后缺少dll,启动失败问题,第1张

Qt5打包缺少dll,启动失败问题

Qt5使用Qt自带的windeployqt打包程序教程很多,其过程也很简单,但是大部分人在打包过程中会出现提示缺少dll,或者错误0xXXXX等问题,网上各种说法,我测试过基本都不怎么正确,这里写一下我的解决方法。


经典错误
  • 缺少dll

  • 无法启动程序报错

解决方法 1. windeployqt版本要和Qt生成的exe版本一致。


我这里的是MINGW_32bit版本,如下图:



所以也要进入第一个控制台[Qt5.9.9 (MINGW 5.3.0-32bit)]环境下用windeployqt打包!



注意这里不要添加Qt\Qt5.9.9.9.9\mingw53_32\bin的全局变量在CMD界面下运行windeployqt,原因有两个:1.各种全局变量下不同平台版本的windeployqt变量路径会混乱,使用windeployqt版本可能不对应,同时即使你只添加一个对应的全局变量在CMD界面下运行windeployqt也可能会缺少dll。


2. 添加全局变量下,即使缺少Qt的dll也能运行,会让你以为dll已经打全了,但是实际上你去了相应的全局环境变量或者在其他电脑上一样报错。


2. Qt组件不全。


如果你严格按照1.0方法执行,发现还是报错缺少dll,那么极有可能是你的组件不全,这里以windows下为例子,正确的打包一般不会出现警告,如下图:



我之前失败发现每次过程会警告找不到VS的目录,我很疑惑我是MINGW32bit下编译的为啥需要找VS组件文件,于是我尝试把Qt的windows下编译组件全装上,如下图:



再次运行1.0方法执行打包成功!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/587682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存