Windows下QGroundControl开发问题汇总

本文汇总了Windows下QGroundControl二次开发的问题。包括QGC源码版本选择与下载,建议选有明确软件要求的版本,介绍了两种下载方法;还提及Qt5.7.1和VS2015的下载使用,以及开发中如Qt假死、运行提示错误等小问题的解决办法。

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

Windows下QGroundControl二次开发问题汇总

前段时间因为项目要求涉及了一下QGC地面站的二次开发,开发难度先不提,环境搭建遇到了很多问题,几乎网上能搜到的问题都遇到了一遍,在这里总结一下。

一、QGC源码版本选择与下载

首先进入QGC官网链接,点击右上角download选择source code进入到GitHub网页,此时Branch的默认版本是master,这个并不是我需要的版本,因为master的README里面并没有写具体的软件要求。点击master切换成3.2版本,网页向下查看README,可以发现3.2版本的README里面比起master 的要求具体了很多。当然3.2版本是我自己的选择,选其他版本也是可以的,但还是建议选择有明确软件版本要求的。

这里写图片描述
这里写图片描述

阅读README可以发现,QGC3.2版本的编译需要安装Qt和VS2015,版本要求分别是Desktop Qt 5.7.1 MSVC2015 32bit和VS 2015 32 bit。
接下来就是QGC源码的下载了。也许这对一部分人来说不是问题,但是对我这个小白来说卡在下载这部分卡了半天。下面总结了一下下载历程:

  • 方法一: 下载并安装GitHub客户端,在网页上点击clone or download,选择在desktop打开,clone之后下载代码就是完整的代码了。缺点是客户端下载速度太慢了,而且似乎不支持断点续传,总是下到一半就失败然后无法下载。能够魔法上网的同学可以试试这种办法。
    这里写图片描述

  • 方法二: 没有魔法上网渠道,就只能另寻他路了。在国内网站码云上,我找到了QGC的源码下载,奔跑的乌龟,选择3.2版本。点击download就可以下载。一个问题是这样下载下来的zip是不完整的,会缺少一些驱动,比如mavlink和gps驱动,解压后点进这两个文件夹是空的。这种情况也在README文件开头提到,不使用git下载下来的代码就是不完整的。由于不能魔法上网,补救方法就是单独下载这两个文件夹,再解压进对应的位置。mavlink包含v1.0和v2.0,建议两者都下载下来。目前我在使用过程中补上这mavlink和GPS驱动就能编译QGC了,如果发现还有遗落的文件可以自己补下。
    mavlink的路径是…\qgroundcontrol\libs\mavlink\include\mavlink
    gps驱动的路径是…\qgroundcontrol\src\GPS\Drivers

到这里QGroundControl的源码就完完整整地下载完成了。

二、Qt5.7.1和VS2015的下载和使用

在第一部分中,我们已经知道要下载5.7.1 MSVC2015版本的Qt和2015 X86版本的VS。QGC对软件版本的要求非常严格,我尝试了Qt和VS的更高版本,比如Qt5.9.4和VS2017,都是不能编译成功的,还是老老实实地根据README里面的要求来。
Qt的下载可以在官网下,下载地址,选择下图红框内的版本就行了。
这里写图片描述

Visual Studio目前最新的版本是2017了,巨硬把2015版本下载藏了起来,如果要从官网下载还得费一点工夫。

  • 进入VS官网,点击网页最上端的下载,进入2017的下载页面。
    这里写图片描述

  • 进入2017版的下载页面后网页向下划动,能够找到旧版本的下载入口。
    这里写图片描述

  • 点击VS2015,展开下载页面点击下载就可以进入下载页面了,期间可能会要求你登陆MSDN之类的,登陆一下就好。下载VS2015第一个X86版本就行,可以把语言换成简体中文。
    这里写图片描述

这里Qt和VS的下载就完成了,有点啰嗦,也是为了尽量详细,跟着文章能够一次完成。
除了Qt和VS的安装,还需要安装调试器windbg,才能完成环境搭建。这篇文章讲的非常详细,一步步来就行。Qt5.7 + VS2015 环境搭建。如果准备在Qt creator中写程序,VS安装完就好,不需要进行文章中的额外配置了。

三、开发过程中的几个小问题

打开qgroundcontrol文件夹,点击qgroundcontrol.pro文件,点击左下角绿色小按钮就可以…运行失败(汗)。开发过程中还是遇到了很多小问题,感觉别人遇到的遇不到的我全碰上了。

  • 问题1: Qt打开后假死/卡顿/鼠标点击没有反应。
    这个问题是显卡问题,运行QtCreator的时候不支持某些显卡或者不支持高性能图形处理器,需要降低显卡性能。这是解决方法,感谢这位大佬。
    https://blog.csdn.net/Hxj_CSDN/article/details/80630420
    NVDIA控制面板——>管理3D设置——>首选图行处理器——>改为自动选择
  • 问题2: 运行提示’rc’不是内部或外部命令/Qt: error lnk1158 无法运行rc.exe/jom退出
    原因是缺少rc.exe和rc.dll,或者没有添加路径,这是解决方法,感谢这位大佬。
    https://blog.csdn.net/jacke121/article/details/78359820

四、总结

其实该说的都已经说完了,整个环境搭建到能成功编译花了大概两天时间吧,要不是项目要求,这么多问题我早就放弃了。总结下来就是问题出现时,要逐步排查,比如QGC编译过程中退出,报错报的很复杂,我重新写了一个helloworld再编译,错误很快就定位在’rc’缺失上了,补上之后就可以成功运行QGC了。还有面对一个project,要先阅读README,能提前避免很多问题,不要看到英文就畏缩不前。

<think>好的,用户想进行Pixhawk飞控系统的二次开发,需要教程和资源。首先,我需要整理已有的引用资料。引用1提到开发环境配置,用make px4-v2来构建固件。引用2和3都提到了开发环境的问题,尤其是引用3建议在Linux下编译,效率更高。引用2还提到在Keil5中使用USB烧写的问题,需要硬件修改。 用户可能需要详细的步骤:环境搭建、代码结构、烧写方法、调试等。首先,应该推荐Linux环境,因为编译速度更快。然后,根据引用1,构建固件的命令是make px4-v2。接着,引用2提到的烧写问题,可能需要说明在无法使用USB时的替代方法,比如焊接调试接口。引用3强调了Linux环境的优势,避免Windows下的长时间编译。 然后要考虑用户可能的疑问,比如如何获取源码,可能需要提到PX4的GitHub仓库。硬件DIY部分在引用2中有描述,需要解释如何焊接STM32的接口。调试部分可以结合引用3中的调试经验,建议使用QGroundControl和日志分析。 可能还需要补充一些资源链接,比如官方文档、社区论坛,以及开发工具如JTAG/SWD调试器的使用。最后,生成相关问题时要覆盖开发环境、烧录问题、代码结构、调试工具和硬件修改等方面。</think>### Pixhawk飞控系统二次开发指南 #### 一、开发环境搭建 1. **Linux系统推荐**:建议使用Ubuntu 20.04 LTS系统,PX4工具链在该系统下编译效率最高,相比Windows环境可节省75%的编译时间[^3] 2. **工具链安装**: ```bash git clone https://github.com/PX4/PX4-Autopilot.git cd PX4-Autopilot make px4-v2 # 构建Pixhawk2固件 ``` 3. **开发依赖**: - ARM工具链:`gcc-arm-none-eabi` - 调试工具:`openocd`和`gdb` - 可视化工具:`QGroundControl` #### 二、硬件准备要点 1. **烧录接口改造**: - 需在STM32处理器背面焊接SWD调试接口(红圈标注位置)[^2] - 推荐使用J-Link或ST-Link烧录器 2. **硬件验证步骤**: ```mermaid graph TD A[连接调试器] --> B[电源隔离] B --> C[读取芯片ID] C --> D[擦除Flash] D --> E[烧录固件] ``` #### 三、软件开发流程 1. **代码架构解析**: - 飞行控制模块:`src/modules/mc_att_control` - 传感器驱动:`src/drivers` - 通信协议:`src/lib/rc` 2. **自定义功能开发示例**: ```c // 在src/modules/中添加新模块 #include <px4_platform_common/module.h> extern "C" __EXPORT int custom_module_main(int argc, char *argv[]); int custom_module_main(int argc, char *argv[]) { PX4_INFO("Custom Module Running!"); return OK; } ``` #### 四、调试与部署 1. **实时日志查看**: ```bash sudo screen /dev/ttyACM0 115200 # 串口调试 ``` 2. **固件更新方法**: - USB正常时:使用`make px4-v2 upload` - USB失效时:通过SWD接口强制烧写[^2] #### 五、关键资源汇总 1. 官方文档:https://docs.px4.io 2. 开发者手册:https://dev.px4.io 3. 社区论坛:https://discuss.px4.io
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值