最近在发布Qt+qml程序时遇到了一个问题,使用windeployqt将依赖的dll文件打包到文件夹后,将文件夹复制到纯净系统中运行时报错"QtQuick.Controls" is not installed,如下图所示。而在开发环境中运行则无任何问题。
一番搜索后发现是未将依赖的qml环境一并打包至文件夹中,所以可以再打包时添加选项-qml。完整命令为windeployqt -qmldir E:\qt\5.15.2\msvc2019_64\qml .\xxx.exe。其中-qmldir后为本机qt环境中qml文件夹的位置,xxxexe则为你的应用程序。使用该命令后会自动检索依赖的qml模块,并将其打包至当前目录下。

在发布Qt+QML应用时,遇到运行报错QtQuick.Controls未安装。问题出在未打包QML环境。使用命令`windeployqt-qmldir<QT_QML_DIR><APP_EXE>`可自动部署依赖的QML模块,解决纯净系统运行时的错误。开发环境无误可能因设置了QML2_IMPORT_PATH环境变量。
最低0.47元/天 解锁文章
1013

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



