QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)

QGC中手把手教你添加qmldir模块

  • 1. 无能为力的试探
  • 2. 柳暗花明又一村


所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间吧!

关于QGC地面站其它文章请点击这里:     QGC地面站


姊妹篇:

QGC地面站手把手教你改——如何添加qmldir模块文件


1. 无能为力的试探

按照上文的 如何添加qmldir模块文件 的操作,在debug模式下无任何问题,但是Release下编译,提示模块未安装,如下:
在这里插入图片描述
于是反复寻找bug,比如在qgroundcontrol.pro文件下,修改 QML_IMPORT_PATH 路径:
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第1张图片
如在QGCCorePlugin.cc 修改 qmlEngine->addImportPath 路径
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第2张图片
实时证明上述都不需要做任何修改,还有什么添加 QML2_IMPORT_PATH 环境变量https://www.cnblogs.com/hellovenus/p/6357585.html ,改为 Singleton 属性 也并没有什么卵用…

2. 柳暗花明又一村

其实只需要在 如何添加qmldir模块文件 此文中,修改两处即可:

其一: qgroundcontrol.pro 中INCLUDEPATH 添加你的源文件路径:
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第3张图片
其二:qgroundcontrol_qmlcache.qrc 中按照在 qgroundcontrol.qrc中增加 qmldir 一样,再添加一次,如下:
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第4张图片
修改后重构,再编译,完美~ 至于为什么还要在 qgroundcontrol_qmlcache.qrc 中添加,之后深入研究了再说(不可能再研究研究了~) 。

其实方法最重要,为什么之前找不到 qgroundcontrol_qmlcache.qrc ? 是因为习惯搜索都是这样的:
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第5张图片
这是搜不到 qmlcache.qrc 中的文件的,可以改为整个系统文件的搜索:
QGC地面站——Release下模块未安装(module “QGroundControl.xxx“ is not installed)_第6张图片
包括 mavlink 底层相关的,搜工程文件肯定也是搜不到的~ 好了,记住这次惨痛的教训了!

官网的qmldir介绍也可以好好学一学:Module Definition qmldir Files


关于QGC地面站其它文章请点击这里:     QGC地面站


姊妹篇:

QGC地面站手把手教你改——如何添加qmldir模块文件

你可能感兴趣的:(QGC——无人机地面站,qmldir,QGC地面站,QGroundControl,模块未安装,Release)