操作步骤:
1 拷贝xxx.exe文件到单独的目录中
2 执行windeployqt xxx.exe --qmldir F:\Qt\5.9.1\msvc2017_64\qml
3 双击运行xxx.exe
现象:
没有报任何错误,也没有任何反应,但是通过任务管理器看这个进程又已经运行

然后百思不得其解;然后通过各种尝试和搜索,发现一篇文章描述了该问题,也从另一方面解决了该问题,但是没有描述出现该问题的原因,url:https://blog.youkuaiyun.com/jhkdiy/article/details/65443782.后来我根据他的灵感,最后将问题锁定在windeployqt工具的参数上面,然后仔细的研究了下,发现windeployqt工具中有--no-patchqt选项:
![]()
通过描述可以发现,这个选项的作用是让windeployqt不对Qt5Core这个库进行patch.所以我们把之前生成的所有文件全部删除掉,重新执行命令:
windeployqt xxx.exe --qmldir F:\Qt\5.9.1\msvc2017_64\qml --no-patchqt
双击运行,成功执行.
Qt使用windeployqt工具问题解决
博客记录了使用Qt时,执行windeployqt命令打包xxx.exe后运行无反应但进程已启动的问题。经尝试和搜索,最终将问题锁定在windeployqt工具参数上,发现添加--no-patchqt选项,重新执行命令后程序可成功运行。
1382





