当前位置: 首页 > news >正文

Ubuntu 20.04 安装 QGC v4.3 开发环境

Ubuntu 20.04 安装 QGC开发环境

  • 1. 准备
    • 安装 Qt 5.15.2
    • 安装依赖
    • 获取源码
  • 2. 编译
  • 参考

前言

QGC ( QGroundControl) 是一个开源地面站,基于QT开发的,有跨平台的功能。可以在Windows,Android,MacOS或Linux上运行。它可以将PX4固件加载(烧写)到飞行器控制硬件上,可以设置飞行器,更改不同参数,获取实时飞行信息以及创建和执行完全自主的任务,如航点规划。

QGC 与 Qt 版本关系:

QGC版本Qt版本Ubuntu版本
v4.3Qt 5.15.2Ubuntu 20.04
v4.4Qt 6.6.1Ubuntu 22.04

我的配置如下:

虚拟机 Ubuntu 20.04 (运行内存 4G、硬盘内存 60G) 、Qt 5.15.2

1. 准备

安装 Qt 5.15.2

安装之前必须确保Ubuntu 中已经安装了 Qt 5.15.2,如果没有安装,可以看下面教程👇

Ubuntu 20.04安装Qt 5.15(最新,超详细)-CSDN博客

安装依赖

在终端输入下面命令安装依赖,安装成功后一定要重启

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gcc g++ make cmake git
sudo apt install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl

获取源码

git clone https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol/
git checkout Stable_V4.3 # 切换分支
git submodule update --init --recursive   # 更新下载子模块

注:不能在 Github 上以 zip 形式下载源源代码,因为 zip 压缩包中不包含相应的子模块源代码。 必须使用git工具!

2. 编译

  • Qt Creator 打开 qgroundcontrol.pro 文件
    在这里插入图片描述

  • 选择构建工具 Desktop Qt 5.15.2 GCC 64bit ,然后点击配置项目(Configure Project)
    在这里插入图片描述

  • 等一会,然后点击侧边栏的 build (可能会编译10多分钟,在这过程中虚拟机可能会比较卡)
    在这里插入图片描述

编译输出:
在这里插入图片描述

  • 可选,如果你有了就不用配置了)添加运行配置(run configuration) ,如果不配置可能会报 error: You need to set an executable in the custom run configuration.
    在这里插入图片描述

  • 点击运行(Run)
    在这里插入图片描述

运行结果:
在这里插入图片描述

到此 Ubuntu 20.04 下 QGC 基本开发环境配置完成!

参考

QGC Guide (4.3) (qgroundcontrol.com)

GitHub - mavlink/qgroundcontrol

ubuntu20.04搭建QGC4.2编译环境_ubantu 20.04 安装qgc地面站-CSDN博客

QtCreator报错:You need to set an executable in the custom run configuration.-CSDN博客

如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!

相关文章:

Ubuntu 20.04 安装 QGC v4.3 开发环境

Ubuntu 20.04 安装 QGC开发环境 1. 准备安装 Qt 5.15.2安装依赖获取源码 2. 编译参考 前言 QGC ( QGroundControl) 是一个开源地面站,基于QT开发的,有跨平台的功能。可以在Windows,Android,MacOS或Linux上运行。它可以将PX4固件加…...

WPF+MVVM案例实战(二十一)- 制作一个侧边弹窗栏(AB类)

文章目录 1、案例效果1、侧边栏分类2、AB类侧边弹窗实现1.文件创建2、样式代码与功能代码实现3、功能代码实现 3 运行效果4、源代码获取 1、案例效果 1、侧边栏分类 A类 :左侧弹出侧边栏B类 :右侧弹出侧边栏C类 :顶部弹出侧边栏D类 &#xf…...

linux中怎样登录mysql数据库

在Linux中登录MySQL数据库,可以使用以下命令: mysql -u username -p 其中,username是你的MySQL用户名。运行该命令后,系统会提示你输入密码。 如果MySQL服务器不在本地主机或者你需要指定不同的端口,可以使用以下命…...

深入理解 Linux 内存管理:free 命令详解

在 Linux 系统中,内存是关键的资源之一,管理和监控内存的使用情况对系统的稳定性和性能至关重要。free 命令是 Linux 中用于查看内存使用情况的重要工具,它可以让我们快速了解系统中物理内存和交换分区(Swap)的使用状态…...

指针万字超级最强i解析与总结!!!!!

文章目录 1.内存和地址1.1内存1.2究竟该如何理解编址 2.指针变量和地址2.1 取地址操作符(&)2.2指针变量和解引用操作符(*)2.2.1指针变量2.2.2如何拆解指针类型2.2.3解引用操作符 2.3 指针变量的大小 3.指针变量类型的意义3.1指…...

告别生硬电子音,这款TTS软件让语音转换更自然动听

Balabolka是一款革新性的文本语音转换工具,为用户提供了极其灵活和个性化的阅读体验。这款软件不仅仅是简单的文字朗读器,更是一个智能的语音助手,能够将各类文本瞬间转化为生动自然的语音输出。 软件的核心优势在于其卓越的文件兼容性和多样…...

CORS(跨域资源共享)和SOP(同源策略)

CORS(跨域资源共享)和SOP(同源策略)不是同一个东西,但它们紧密相关,并且常常一起讨论,因为 CORS 是为了解决同源策略带来的跨域问题而引入的。 同源策略(Same-Origin Policy&#x…...

【系统设计】数据库压缩技术详解:从基础到实践(附Redis内存优化实战案例)

概述 在现代数据库系统中,压缩技术对于提高存储效率和加速查询性能至关重要。特别是在处理大规模数据时,压缩能够极大地减少存储空间,并优化查询性能。本文将总结几种常见的压缩方式,并通过详细的解释和示例清晰地展示每种压缩方…...

基于SpringBoot的“乐校园二手书交易管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“乐校园二手书交易管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 用户注册界面图 二手…...

debian11安装最新rabbitmq

1、使用官网提供系统对应的安装脚本 安装 版本说明: Debian Buster代表Debian 10 Debian Bullseye代表Debian 11 Debian Bookworm代表Debian 12 ‌Debian Trixie代表Debian 13 Debian Sid代表Debian unstable版本 2、新建脚本文件 vim rabbitMq.sh将脚本内容复制到…...

三十三、Python基础语法(面向对象其他语法-下)

一、属性划分 1.类属性 类属性:类属性就是类对象具有的属性,一般写法在类内部、方法的外部定义的变量,就是类属性,类属性在内存中只有一份。可以通过类名直接访问,也可通过实例访问。 class Circle:# 类属性,定义圆…...

简单又便宜的实现电脑远程开机唤醒方法

现有的远程开机方案 1)使用向日葵开机棒 缺点是比较贵一点,开机棒要一百多,而且查了评论发现挺多差评说不稳定,会有断联和无法唤醒的情况,而且设置也麻烦,还需要网卡支持WOL 2)使用远程开机卡 …...

Flutter鸿蒙next 状态管理框架对比分析

在 Flutter 开发中,状态管理是一个非常重要且关键的主题。Flutter 中的应用状态管理直接影响着应用的性能、可维护性和开发效率。随着 Flutter 生态的成熟,已经出现了许多不同的状态管理方案,各具特色,适用于不同的开发场景。本文…...

Vue Router进阶详解

导航守卫 若依框架登录鉴权详解(动态路由)_若依鉴权-CSDN博客 完整的导航解析流程 导航被触发: 当用户点击页面中的链接、使用编程式导航(如router.push或router.replace)或手动输入URL时,导航流程被触发。…...

进程的控制

进程 task_struct mm_struct(虚拟地址空间) 页表 代码和数据 。 新建进程先有管理系统,然后才有代码和数据。 fork()函数:子进程返回0,父进程返回的是子进程的pid - - - 方便父进程对子进程标识。 进程终止:释放代码和数据占…...

基于C语言实现的图书管理系统

使用Visual Studio 2022编译工具进行编写代码的。 项目源码直接奉上: book1.h头文件: #ifndef __BOOK1_H //预处理用于条件编译 避免头文件反复包含 #define __BOOK1_H#include<stdio.h> #include <string.h> #include<stdlib.h> #include<stdbool.h&g…...

删除 需要来自XXXX的权限才能对此文件夹进行更改 文件的解决办法

如果你也是&#xff1a; 如果你也有类似上面的问题&#xff0c;这篇文章算是你看对了&#xff0c;哦哟&#xff01; 我的牙齿现在是怨灵的牙齿&#xff0c;可以啃下一头牛。 翻遍千山万水&#xff0c;咱们也是终于取到真经了家人们。 首先下一个everything好吗 甩一个官网链…...

ARM base instruction -- ccmp (immediate)

Conditional Compare (immediate) sets the value of the condition flags to the result of the comparison of a register value and an immediate value if the condition is TRUE, and an immediate value otherwise. 此指令一般出现在 cmp 指令之后&#xff0c;表示双重比…...

高德 阿里231滑块 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…...

Unity 的 WebGL 构建中资源图片访问方式

在 Unity 的 WebGL 构建中&#xff0c;资源图片是可以打包在 工程内部 使用的&#xff0c;前提是这些资源被正确地包含在构建中&#xff0c;并且能够通过合适的方式加载和访问。不同于传统的本地文件访问&#xff0c;WebGL 需要通过 Asset Bundles、Addressables 或 Resources …...

从‘盲猜’到‘先知’:深度解读神经RRT*如何让采样规划拥有‘大局观’

神经RRT*&#xff1a;当路径规划算法学会"思考"的范式革命 在自动驾驶汽车寻找最短路径、无人机规划避障航线的场景中&#xff0c;传统RRT算法就像一位盲人摸象的探险者——它通过随机撒点的方式探索环境&#xff0c;虽然最终能找到出路&#xff0c;却需要耗费大量时…...

OBS背景移除插件:从零到一的AI虚拟背景终极指南 [特殊字符]

OBS背景移除插件&#xff1a;从零到一的AI虚拟背景终极指南 &#x1f3ac; 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: …...

Qt实战:手把手教你打造一个可动态配置的数值输入组件(基于QDoubleSpinBox封装)

Qt实战&#xff1a;构建可动态配置的数值输入组件的高级封装策略 在复杂的Qt应用开发中&#xff0c;数值输入控件是用户交互的重要组成部分。标准QDoubleSpinBox虽然提供了基础功能&#xff0c;但在实际企业级应用中往往需要更灵活的配置能力和更精细的行为控制。本文将深入探讨…...

IC697PWR710H电源模块

IC697PWR710H 是GE Fanuc Series 90-70 PLC系统使用的一款高可靠性电源模块&#xff0c;为机架内所有模块提供稳定的直流供电&#xff0c;属于710系列的改进或衍生版本。中间&#xff1a;15条产品特点IC697PWR710H 输入支持交流120/240V或直流125V&#xff0c;适应不同现场供电…...

CANN/asc-devkit SIMD API文档

Adds&#xff08;灵活标量位置&#xff09; 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 …...

Purple Pi OH开发板Android 11系统ROOT权限获取与Magisk实战指南

1. 项目概述&#xff1a;为什么我们需要对Purple Pi OH进行ROOT&#xff1f;拿到一块Purple Pi OH开发板&#xff0c;刷上Android 11系统&#xff0c;对于开发者或极客玩家来说&#xff0c;最常遇到的第一个“痒点”可能就是权限不足。系统默认运行在“用户模式”下&#xff0c…...

Intel 14代酷睿接口更迭:技术推演与用户决策指南

1. 项目概述&#xff1a;一次关于“接口更迭”的深度技术推演最近&#xff0c;关于下一代酷睿处理器的传闻又开始在圈内流传&#xff0c;一个核心的焦点再次被推上风口浪尖&#xff1a;Intel 14代酷睿&#xff08;Raptor Lake Refresh&#xff09;可能又要更换CPU插槽接口了。这…...

BiliTools:重新定义B站内容消费的技术解决方案

BiliTools&#xff1a;重新定义B站内容消费的技术解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools 你是否曾…...

RISC-V开发板免费申请与实战指南:从环境搭建到项目移植

1. 项目概述&#xff1a;一次难得的RISC-V生态深度体验机会最近在开发者圈子里&#xff0c;一个消息引起了不小的讨论&#xff1a;可以免费申请到基于RISC-V架构的生态开发板。这对于我们这些常年和ARM、x86打交道的开发者来说&#xff0c;无疑是一个极具吸引力的“尝鲜”机会。…...

Realtime-VLA V2——从让π0实时抓取下落的钢笔到让 VLA 运行得更快、更平滑且更精确

前言今天在朋友圈刷到一则新闻&#xff0c;称《开普勒机器人被A股公司收购&#xff0c;前任CEO已离职创业》我仔细看了全文&#xff0c;还是多有感慨其实对双足&#xff0c;3-5家今年可继续卷跳舞 跑步 打拳及比赛/陪练(乒乓球/网球/羽毛球等)而3-5家之外的双足&#xff0c;得另…...