QT发布程序QML程序不正常不工作windeployqt无法导出qml依赖无法显示qml界面图片发布程序的过程
最近要发布一个qt程序,其中程序和依赖库都是由qt和qml开发实现的,qt可以用windeployqt命令实现自动收集qt依赖的功能,所以下面的过程是用qt自带的windeployqt工具收集qt相关依赖,以及碰到的问题的解决方案。如果您学会了,请忽略。
如果没有引用到qml,请忽略。
第一步 启动命令行
cmd
最快捷的方式,就是在要执行命令的目录 地址栏中输入cmd
两个需要注意的事项:
1、后面的演示,都是用release版本,msvc+qt编译的程序取依赖,如果您跟我一样,那么就可以参照我的操作。如果您使用的是Debug,记得收集的qt库,应该是*d.dll(例如Qt5Cored.dll,而release则是不带d)。
2、您还需要注意,用vs+qt编译的qt依赖,来自msvc**的目录,用mingW编译的qt依赖,来自mingW的目录,不能混用。
第二步 运行vcvars64.bat
“D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat”
运行这个的目的是为了收集vs的依赖,如果您的程序是qtcreator生成的,可以忽略这个步骤。只有在vs+qt生成的程序时才执行。
注意上面的文件路径,是我电脑安装vs2017的路径,您需要根据自己的vs版本进行相应的调整,但是执行的文件名是相同的。
第三步 执行windeployqt命令
windeployqt [你的程序名或者动态库]
下面是举例:
windeployqt chapter1-basics.exe
一般情况下,命令

文章讲述了在发布QT程序时,遇到QML相关依赖无法通过windeployqt正确收集以及运行后QML界面显示不正常的问题。解决方案包括手动添加Qt5QuickControls2.dll,执行特定windeployqt命令,拷贝qt.conf文件并修改,以及处理Qt5Core.dll的路径问题。通过这些步骤,最终成功在未安装QT环境的机器上使程序正常运行。
最低0.47元/天 解锁文章
862

被折叠的 条评论
为什么被折叠?



