qgroundcontrol二次开发环境搭建

本文详细介绍了如何从源码编译qGroundControl的过程,包括所需环境配置、常见编译错误及解决方法等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考考qgroundcontrol官方文档,做一些准备工作:

https://dev.qgroundcontrol.com/master/en/getting_started/index.html

1. 按官方文档下载qgroundcontrol的源码:

git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git

git submodule init

git submodule update --recursive (这一步必须执行)

2. 安装Qt5.15.2和Visual studio2019 64位

3. 启动QtCreator并打开qgroundcontrol.pro这个文件,选择msvc2019 64位。

4. 开始编译,编译过程中一定会出错,所以才有了这篇文章的出现。

4.1 出错1:error: Project ERROR: MAVLink folder does not exist at 'libs/mavlink/include/mavlink/v2.0'! Run 'git submodule init && git submodule update' on the command line.

把上边的git submodule update --recursive 在命令行中执行一下就好了。

4.2 出错2:error: dependent 'libs\xz-embedded\linux\lib\xz\xz_crc32.c' does not exist.

原因是执行git submodule update时没有下载xz-embedded的代码,需要手动下载,我是去gitee中下载的。下载完成后解压,将目录名改成xz-embedded,并拷到libs目录中,覆盖掉之前的。

接着编译,编译前需要把前一次的编译结果清除掉。

4.3 出错3: libs\libevents\libevents\libs\cpp\parse\parser.h(13): fatal error C1083: 无法打开包括文件: “nlohmann_json/include/nlohmann/json_fwd.hpp”: No such file or directory

出现这个错误也是一样,需要手动下载 nlohmann_json,也是在gitee上下载的。下载完成后把nlohmann_json放到libs\libevents\libevents\libs\cpp\parse\目录下,并在QGCExternalLibs.pri文件中指定:INCLUDEPATH += libs\libevents\libevents\libs\cpp\parse\nlohmann_json\include

5. 清除上次编译结果后,在次编译,就会顺利成功。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值