解决Qt Qml应用使用windeployqt部署后仍不能运行的问题

解决Qt Qml应用使用windeployqt部署后仍不能运行的问题,第1张

问题描述

在Windows系统中官方推荐使用windeployqt,使用C++开发的应用程序使用windeployqt很好用,但是使用Qml开发的应用却不能运行,双击之后一点反应也没有。

解决方法

先加后减

做加法

比如我的应用程序为app.exe,先做加法,把运行app.exe可能缺的东西全都加上来。

  1. 关闭Qt Creaator

  2. app.exe放到C:\Qt.15.2\msvc2019_64\bin中运行,如果正常启动则继续。

  3. app.exe放到一个空文件夹中(比如文件夹名为:folder)。

  4. 把所有的动态链接库.dll文件都复制一份到folder中,动态链接库在我的系统中路径为C:\Qt.15.2\msvc2019_64\bin

  5. 将所有的插件文件夹都复制一份到folder中,插件文件夹在我的系统中路径为C:\Qt.15.2\msvc2019_64\plugins

  6. 把所有的Qml相关的文件和文件夹复制一份到folder中,Qml相关的文件在我的系统中路径为C:\Qt.15.2\msvc2019_64\qml

  7. 运行app.exe

此时app.exe应该是可以正常运行,接下来做减法,把运行app.exe不需要的东西全都删掉。

做减法
  1. 运行app.exe

  2. 选中所有的动态链接库,可以借助搜索来过滤后缀为.dll的文件,然后删除,用到的动态链接库会提示被占用,跳过就好。

  3. 删除所有的.pdb文件,同样可以借助搜索来过滤。

  4. [可选]清空回收站,万一删多了,方便找回来。

  5. 把从C:\Qt.15.2\msvc2019_64\qmlC:\Qt.15.2\msvc2019_64\plugins里面复制过来的文件夹一个一个地删除,每删一个都要重启下app.exe,不影响启动和运行的文件夹就可以放心得删掉了。

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

原文地址: http://outofmemory.cn/langs/674416.html

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

发表评论

登录后才能评论

评论列表(0条)

保存