Debian下编译QGroundControl源码

MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和Parrot AR.Drone飞控平台上进行了大量测试。

QGroundControl则是一种操纵基于MAVLink通信协议的无人机的跨平台地面站开源软件。下面记录在Debian Linux下从源码编译QGroundControl的过程。

下载源码

1
2
3
4
# 下载QGroundControl源码
git clone --recursive https://github.com/mavlink/qgroundcontrol.git
# 更新子模块
git submodule update

安装编译环境

  • 下载Qt社区版在线安装器,安装5.11.0版本的Qt,安装路径可在/opt下。
1
2
3
4
# 注意要选择安装5.9+以上版本的Qt,因为构建QGC时需要
# 运行qtcreater
$ cd /opt/Qt/Tools/QtCreator/bin/
$ ./qtcreator
  • 安装必要的包
1
sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev
  • 解决编译时libQt5PositioningQuick.so.5不存在的bug
1
2
3
sudo apt-get install libqt5positioningquick5
sudo find /usr/ -name libQt5PositioningQuick.so.5
cp /usr/lib/x86_64-linux-gnu/libQt5PositioningQuick.so.5 /opt/Qt/5.10.0/gcc_64/lib/libQt5PositioningQuick.so.5
  • 将当前用户添加到dialout组,获取串口访问权限
1
2
# 运行QGroundControl需要当前用户拥有串口访问权限
sudo usermod -a -G dialout $USER

编译运行

打开Qt Creater,打开qgroundcontrol.pro工程,构建后运行,即可打开QGroundControl地面站软件。

参考链接

  1. https://blog.csdn.net/hebbely/article/details/79022799, by hebbely
  2. https://dev.qgroundcontrol.com/en/getting_started/, by Dronecode