我是靠谱客的博主 友好大叔,最近开发中收集的这篇文章主要介绍关于Qt(qml)使用windeployqt打包后运行无反应的问题解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我的环境: win10 + qt5.7.1 + msvc2015 + qml程序

我的问题:随便创建一个qml程序,qtcreator上能跑起来,当我使用windeployqt命令打包的时候双击exe却无任何反应。我的打包命令是:
windeployqt qml_test.exe --qmldir C:QtQt5.7.15.7msvc2015_64qml
参考了网上很多类似文章,都不能解决我的问题,可能不同版本解决的办法不同吧,算了,还是自己来研究是咋回事吧~

解决思路:因为我把exe拷贝到QT环境QtQt5.7.15.7msvc2015_64bin目录下能够运行,因为我把该目录下所有dll文件都拷贝到我打包后的文件夹中发现能够正常运行,然后我逐个删除和对比多余的dll文件,最后发现只需要拷贝Qt5XmlPatterns.dll和Qt5Core.dll文件就可以了,嘿,高兴坏了~,但是,高兴的太早了!当我把打包目录拷贝到其它没有安装QT环境的电脑上,发现双击运行又没有反应了,肯定是QT环境的问题,于是我又通过把QT环境QtQt5.7.15.7msvc2015_64下的所有文件夹通过重命名来判断到底是依赖了哪些文件,最后发现把QtQt5.7.15.7msvc2015_64qml下QT,QtGraphicalEffects,QtMultimedia,QtQml,QtQuick,QtQuick.2,QtTest(你打包目录下包含哪些QT模块文件夹就拷贝哪些文件夹)这几个文件夹拷贝到打包目录进行覆盖就能运行了。如图这几个文件夹:
在这里插入图片描述

注意:我发现有时windeployqt相同语句打包后目录下的结构不一样,有时会缺少部分dll文件或文件夹

解决步骤

  1. 拷贝QT环境QtQt5.7.15.7msvc2015_64bin下的Qt5XmlPatterns.dll和Qt5Core.dll到打包目录。
  2. 查看你打包目录下有哪些QT模块的文件夹,则在Qt环境QtQt5.7.15.7msvc2015_64qml下拷贝对应的文件夹到你的打包目录进行覆盖。

如果还不行,就将QtQt5.7.15.7msvc2015_64plugins下的platforms文件夹拷贝到打包目录。

最后

以上就是友好大叔为你收集整理的关于Qt(qml)使用windeployqt打包后运行无反应的问题解决办法的全部内容,希望文章能够帮你解决关于Qt(qml)使用windeployqt打包后运行无反应的问题解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部