瑞芯微Linux运行Qt QML程序提示QtCharts 5.9模块未安装求助
Qt QML 提示QtCharts 5.9未安装的排查思路
- 先检查
/usr/qml/QtCharts/qmldir文件内容,确认是否正确声明了模块版本和插件信息:- 确认第一行声明为
module QtCharts - 存在
plugin qtchartsqml2配置,指向对应QML插件 - 存在对应5.9版本的声明,或者兼容的版本范围,若仅声明了更高版本的模块,会导致低版本导入失败
- 确认第一行声明为
- 检查QML导入路径配置:
Qt运行时默认从QML2_IMPORT_PATH环境变量指定的路径搜索QML模块,运行程序前先执行export QML2_IMPORT_PATH=/usr/qml:$QML2_IMPORT_PATH再启动程序验证;也可以在QML引擎初始化代码中增加engine.addImportPath("/usr/qml")手动指定搜索路径。 - 确认QML插件依赖正常、架构匹配:
执行ldd /usr/qml/QtCharts/libqtchartsqml2.so检查该插件的所有动态依赖是否都存在,无not found项;同时确认该so文件的架构和瑞芯微平台的CPU架构一致,若推送了x86架构的库文件,ARM平台无法识别加载。 - 核对代码导入语句的版本号:
QtCharts的QML模块版本号和Qt本体版本号不是对应关系,Qt 5.9对应的QtCharts QML模块版本为2.9,若代码中写了import QtCharts 5.9会直接报错,改为import QtCharts 2.9即可。 - 检查文件权限:
确认/usr/qml/QtCharts路径下所有文件权限正常,.so类动态库文件有可执行权限,配置类文件有可读权限,adb推送时可能默认权限不足,可执行chmod 755 /usr/qml/QtCharts/*.so和chmod 644 /usr/qml/QtCharts/qmldir /usr/qml/QtCharts/*.qmltypes修复权限。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

