操作步骤:
1 拷贝xxx.exe文件到单独的目录中
2 执行windeployqt xxx.exe --qmldir F:\Qt\5.9.1\msvc2017_64\qml
3 双击运行xxx.exe
现象:
没有报任何错误,也没有任何反应,但是通过任务管理器看这个进程又已经运行
然后百思不得其解;然后通过各种尝试和搜索,发现一篇文章描述了该问题,也从另一方面解决了该问题,但是没有描述出现该问题的原因,url:https://blog.csdn.net/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
双击运行,成功执行.