文章目录

  • 前言
  • 一、安装qt
  • 二、编译QGC
    • 安装依赖
    • 安装GStreamer
  • 三、编译安卓版QGC
    • 安装jdk11
    • 配置Qt creator
    • 配置手机
    • 配置遥控器
  • 常见报错

前言

Ubuntu20.04
QGC 4.2
ubuntu18.04也可以编译QGC4.2,但是由于GLBC版本较低,无法使用最新版的QTCreator,Ubuntu20.04可以使用最新版QTCreator。

一、安装qt

推荐使用在线安装,下载地址:https://download.qt.io/official_releases/online_installers/

我这里下载的是qt-unified-linux-x64-4.4.1-online.run

下载后添加可执行权限并双击运行,如果双击打不开这个软件,在该软件所在目录打开终端执行

./qt-unified-linux-x64-4.4.1-online.run

出现下面的报错:

./qt-unified-linux-x64-4.4.1-online.run: error while loading shared
libraries: libxcb-xinerama.so.0: cannot open shared object file: No
such file or directory

执行下面的命令解决:

sudo apt install --reinstall libxcb-xinerama0

执行完之后就可以打开安装程序,然后一直下一步。直到下面这页面,选择需要安装的qt版本,然后一直下一步安装,注意勾选LTS和Arhive,否则编译QGC时可能会报错


java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
at org.codehaus.groovy.vmplugin.VMPluginFactory.(VMPluginFactory.java:43)
at org.codehaus.groovy.reflection.GroovyClassValueFactory.(GroovyClassValueFactory.java:35)

二、编译QGC

安装依赖

sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf

安装GStreamer

GStreamer是视频相关的组件,如果不装的话虽然不影响编译,但编译出来的安卓版地面站会无法显示视频流图像,如下:


参考下面网址安装:
https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
编译ubuntu地面站需要用下面命令安装

list=$(apt-cache --names-only search ^gstreamer1.0-* | awk '{ print $1 }' | sed -e /-doc/d | grep -v gstreamer1.0-hybris)
sudo apt-get install $list
sudo apt-get install libgstreamer-plugins-base1.0-dev
sudo apt-get install libgstreamer-plugins-bad1.0-dev

编译安卓地面站需要下载gstreamer-1.0-android-universal-1.18.5.tar.xz
下载地址:
链接: https://pan.baidu.com/s/1DGqsdTKbFFl-erZZjzPHHQ 提取码: 3vsx
–来自百度网盘超级会员v5的分享

下载后在qgroundcontrol目录下解压,解压后清除重新编译地面站(不清除重新编译可能会报错)后即可编译出可以显示视频的安卓QGC:
如果用qt5.15.2编译qgc4.2.0时出现下面的报错


下载下面的压缩包并解压
链接: https://pan.baidu.com/s/1kFlph1IKEG8aqF4dqUrBSg 提取码: sq00
–来自百度网盘超级会员v5的分享
将下面目录的中内容删除,并用压缩包里面的内容替换,然后重新编译即可
或者将airmap关掉,在qgc主目录下新建user_config.pri,加入内容:DEFINES += DISABLE_AIRMAP

上面的错误在4.2.4版本QGC上只需要再重新编译一次就可以了

编译完出现如下提示
执行

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager

上面这两条命令后需要重启电脑,重启之后地面站才能连接飞控

三、编译安卓版QGC

安装jdk11

笔者曾使用jdk18,编译会报错,这里建议安装jdk11

sudo apt-get install openjdk-11-jdk

配置Qt creator

点击工具->外部->Configure

打开设备那一栏,点击JDK location右边的浏览,

选择下面的目录

然后点击Set up SDK,等待自动安装和配置,安装过程中所以的确认选项选是

安装成功后如下图,正常的话OpenSSL是正常配置的,如果没有正常配置,点击右侧的Download OpenSSL进行配置,最后点击应用,然后点击确定。

QGC的AndroidManifest.xml设置成API31

配置手机

选择编译套件为安卓

如果软件没有自动识别编译套件,可以手动添加:
点击项目->管理构建套件->Qt版本->添加
选择qt安装目录下的qmake文件

如果没有连接实体手机或者虚拟手机,手机图标右下角为红点

这时在编译安卓版QGC时,会出现下图提示,需要连接手机设备。

10:06:46: The deployment device "22041211AC" is disconnected.
Error while building/deploying project qgroundcontrol (kit: Android Qt 5.15.2 Clang Multi-Abi)
When executing step "Deploy to Android device"

笔者用实体手机测试,再测试前,需要对手机进行设置.
笔者所用手机为redme note8 pro 5G版.
设置->我的设备->全部参数
找到如下图所示"MIUI版本"连续点击6次,进入开发者模式.

然后点击设置->更多设置->开发者选项
授权以下三项.

然后用USB线将手机连接至电脑,此时手机端会弹出下图提示,选择"传输文件"

设置好之后将手机通过USB连接电脑,正常的话电脑能识别到手机设备,在QT中将设备设置为手机,确认手机状态为Ready to use
可以看到手机图标右下角变成了绿色,然后点击三角形编译

如果手机图标右下角是黄色,状态为connected,

点击下图的Refresh即可变成绿色

编译后会自动安装QGC到手机,如果编译后出现下面的提示,原因是手机上已经安装了其他版本的QGC,可以卸载后再重新编译安装即可。

编译过程中如果出现下面提示,选是即可

配置遥控器

如果想在带安卓系统的遥控器上安装地面站,设置方法和手机相似,以云卓H16遥控器为例,打开设置->开发者选项->使能USB调试

选择USB配置为MTP

设置完成后电脑就可以识别到遥控器,选择遥控设备后就可以编译。

常见报错

报错
解决办法:按照提示设置ABIs报错
第一次编译出现许多无法下载的错误
解决办法:联网再编译

ubuntu20.04搭建QGC4.2编译环境相关推荐

  1. 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置

    目录 沁恒CH32V003(一): CH32V003F4P6开发板上手报告和Win10环境配置 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置 硬件准备 沁 ...

  2. 基于 Vmware 搭建 Ubuntu Server 编译环境(Samba + SSH + Git)

    本人主要从事 android 系统开发相关工作,日常工作中经常要搭建源码编译环境.除了 Android 源码需要在 Linux 系统下编译,一些第三方的库也要在 Linux 环境下编译,比如 FFmp ...

  3. Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介、安装、使用的详细攻略

    Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介.安装.使用的详细攻略 目录 pydev简介 PyDev 安装和配置 1.安装MyEc ...

  4. ubuntu20.04搭建lamp环境 +制作网页

    一.准备工作 二.安装apache2 三.安装mysql 四.安装php 五.安装depress 准备工作 配置虚拟机安装ubuntu20.04 配置环境及相关设置(配置中文及防火墙等) 安装apac ...

  5. ubuntu12.04平台下a80编译环境搭建

    如果出现unable to locate package ,则用sudo apt-get update 安装JDK6 下面开始安装jdk: 在网上查的一些资料上都是把jdk安装在/usr/lib/jv ...

  6. 35、ubuntu20.04搭建瑞芯微的npu仿真环境和测试rv1126的Debain系统下的yolov5+npu检测功能以及RKNN推理部署以及RTSP视频流解码

    基本思想:手中有一块core-1126/1109-JD4,记录一下其刷机过程和开发人数统计,与树莓派的nanodet 每帧200ms对比一下 第一步:刷机,真的是难,各种各样的小问题,反正成功的方法只 ...

  7. 在Ubuntu20.04搭建WordPress开发环境

    最近在B站刷到一个很不错的WordPress开发视频 https://www.bilibili.com/video/BV1E7411A7Yj?p=1 最近PHP8.0的发布, 性能得到极大提升, 再加 ...

  8. Ubuntu20.04下 嵌入式 Qt 开发环境的搭建(适用于Tiny6410)

    Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建 目录导航 Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建 前言 1.安装前的准备工作 2.安装交叉编译器 3.安装t ...

  9. ubuntu20.04搭建janus服务器

    目录 一.安装依赖项 二.编译janus v1.1.0 三.生成ssl证书 四.编译配置nginx 五.编译turnserver 六.配置janus文件 七.编译janus报错记录 参考资料: 环境是 ...

最新文章

  1. win10清理_大家都说Win10系统不用装360,那么如何清理电脑软件垃圾呢?
  2. 这款Linux发行版已经适配200+移动设备
  3. lvs和keepalives
  4. 质量三维论如何持续推进腾讯视频播放体验提升
  5. DOM3 textInput事件-softbar
  6. 27. 二叉树的镜像
  7. 为什么打印出来的文件右边有阴影_打印机扫描怎么用,教您怎么用打印机扫描...
  8. 0.python class
  9. 计算机系统硬盘内存主频,内存时序和频率_内存硬盘-中关村在线
  10. 矩阵如何运算?——线性代数
  11. Sloth:网易流计算服务化平台架构实践
  12. 全球货币市场基础知识系列4
  13. linux 原型软件,10个在线原型设计软件推荐
  14. 无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录
  15. hashmap hashtable
  16. linux文件或目录添加权限(chmod)
  17. QQ远程提示系统权限原因暂时无法操作怎么办
  18. 如何让vs2019的主题变好看(NightOwl主题为例)???像vscode和webstorm一样自定义主题!!!
  19. 来自灵魂的拷问:之迁移之后SQL执行变慢了
  20. 广西大学计算机调剂信息2021,广西大学2021年考研可调剂的专业和人数一览

热门文章

  1. 模拟3d星空python_Python Blender 绘制3D宇宙飞船
  2. 永续合约_杠杆合约_合约交易基础知识
  3. 【历史上的今天】6 月 11 日:蒙特卡罗方法的共同发明者出生;谷歌推出 Google 地球;谷歌收购 Waze
  4. Python Pandas 分析郁达夫《故都的秋》
  5. 基于FullCalendar插件的个人日程安排系统(4)
  6. eMMC CMD 基本命令
  7. 计算机专业知识PPT讲演,计算机系PPT制作及演讲大赛精彩落幕
  8. 索引(从零开始)必须大于或等于零,且小于参数列表的大小.
  9. Network connection problem with T2080RDB-PC
  10. 深圳MES系统在智能制造中的应用