地面站Mission Planner从源码编译与运行

0. 环境

- win10(基本需要100G硬盘)

- ubuntu18

1. 安装vs2022


下载 vs2022 community 在线安装包。
https://visualstudio.microsoft.com/

打开 Visual Studio Installer
先安装 Visual Studio Community 2022本体。占用1.2GB。

Visual Studio Installer -> Visual Studio Community 2022 -> 更多 -> 导入配置
    -> MissionPlanner-MissionPlanner1.3.80\vs2022.vsconfig -> 查看详细信息
    -> 需要32.53GB,点击右下角的修改
安装完提示重启,会清除缓存。

2. 克隆仓库

Visual Studio Community 2022 ->  Git -> 克隆存储库 -> https://github.com/ArduPilot/MissionPlanner.git -> 克隆

网络不好,win10无法 克隆。到网络好的机子上克隆,比如阿里云,然后把源码包拉下来。

git clone --recurse-submodules https://github.com/ArduPilot/MissionPlanner


如果子仓库克隆失败,则需要

cd MissionPlanner
git submodule update --init --recursive

云服务器安装7zip

yum install -y p7zip*


压缩:

7z a MissionPlanner_git_src_20240318.7z MissionPlanner

3. 编译

打开工程
Visual Studio Community 2022 -> 打开项目或解决方案 -> MissionPlanner-MissionPlanner1.3.80\MissionPlanner.sln

编译
生成 -> 

4. win10运行

双击MissionPlanner.exe即可运行 

5. ubuntu18

mission planner是用c#开发的,而ubuntu18也有c# 的运行环境。

5.1 mono(microsoft 的 c# 运行环境)

# 添加软件源
sudo apt install ca-certificates gnupg
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

# 安装 mono
sudo apt install mono-devel

5.2 拷贝mission planner的程序本体

把MissionPlanner文件夹拷贝到ubuntu中。

5.3  运行

mono MissionPlanner.exe


参考

https://github.com/ArduPilot/MissionPlanner

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper 简明使用教程

Zookeeper 简明使用教程 ZooKeeper是一个开源的分布式协调服务,用于管理和维护分布式系统中的配置信息、命名服务、分布式锁、分布式队列等。 一、环境 JDK环境 二、下载 $ wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin…

#!/bin/sh和#!/bin/bash的区别

前言:都是脚本文件中的 shebang(也称为 hashbang)行,用于指定脚本文件的解释器 解释: #!/bin/sh:这行告诉操作系统使用 /bin/sh 这个解释器来执行脚本。/bin/sh 是一个标准的 Unix Shell,通常是…

【Docker系列】在 Linux 上安装 Docker Compose 的简明步骤

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Git 如何去使用

目录 1. Git暂存区的使用 1.1. 暂存区的作用 1.2. 暂存区覆盖工作区(注意:完全确认覆盖时使用) 1.3. 暂存区移除文件 1.4. 练习 2. Git回退版本 2.1. 概念 2.2. 查看提交历史 2.3. 回退命令 2.4. 注意 3. Git删除文件 3.1. 需求 …

CAN的回环测试实验

我只有一个STM32F429的开发板,所以这次我就做个回环测试. 1.先了解一下有关CAN的一些标准库,结构体 1.CAN初始化结构体---CAN_InitTypeDef 2.CAN发送及接收结构体--- CanTxMsg(发送结构体) CanRxMsg(接收结构体) 3.CAN筛选器结构体 --- CAN_FilterInitTypeDef 2.代码编写 以及…

HarmonyOS 和 OpenHarmony

HarmonyOS 和 OpenHarmony 支持的 shell 命令不同,因此有时候需要做一做区分,目前有些文档上没有标注,因此可能产生歧义。 HarmonyOS 支持 getprop: getprop hw_sc.build.os.apiversion # 查看API版本OpenHarmony 上支持 param…

Android Studio 通过 WIFI 调试手机 app

操作流程 首先第一步,PC 和手机都需要连在同一个局域网 WIFI。 第二步,手机 USB 连上 PC,确保能查看到通过 USB 连上的设备: >>adb devices List of devices attached CSXasjdhwjqwjhqdh device (最好只看到一个连上的设置…

SYS-2722音频分析仪SYS2722

181/2461/8938产品概述: Audio Precision 2722 音频分析仪是 Audio Precision 屡获殊荣的 PC 控制音频分析仪的旗舰型号,长期以来一直是音频设备设计和测试的全球公认标准。功能齐全的 SYS-2722 提供了测试转换器技术最新进展所需的无与伦比的失真和噪声…

Jetson nano部署Yolov8 安装Archiconda3+创建pytorch环境(详细教程+错误解决)

由于jetson nano 是aarch64架构,Anaconda官方不支持aarch64架构,所以有了一个叫“Archiconda”,其目的就是将conda移植到aarch64平台上 一. 下载地址Releases Archiconda/build-tools GitHub 然后安装archiconda bash Archiconda3-0.2.3…

基于 Java 的数据结构和算法 (不定期更新)

JavaIsBestLang 数据结构 Collection 是 Java 中的接口,被多个泛型容器接口所实现。在这里,Collection 是指代存放对象类型的数据结构。 ArrayList 函数名功能size()返回 this 的长度add(Integer val)在 this 尾部插入一个元素add(int idx, Integer …

PCL 点云的平面裁剪

目录 一、 算法概述二、代码示例三、输出结果一、 算法概述 适用:根据指定的box范围框来裁剪点云数据。(独创的思路,借用opencv内置的函数来实现点云数据在平面上的裁剪)。 二、代码示例 #include<iostream> #include<pcl/point_cloud.h> #include

Docker 中运行一个容器并查看其日志

要在 Docker 中运行一个容器并查看其日志&#xff0c;你可以按照以下步骤操作。首先&#xff0c;确保你已经正确构建了名为 blade-gateway 的 Docker 镜像。 运行容器: 使用 docker run 命令以后台模式&#xff08;-d 参数&#xff09;启动 blade-gateway 容器。这将返回一个容…

(学习日记)2024.03.31:UCOSIII第二十八节:消息队列常用函数

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

铸铁平台的平面度

铸铁平台的平面度是指平台的表面平整程度&#xff0c;即平台表面与其理论平面之间的最大偏差。平台的平面度通常使用国际标准符号GD&T中的平面度符号&#xff08;ⓨ&#xff09;表示&#xff0c;单位为毫米&#xff08;mm&#xff09;或微米&#xff08;μm&#xff09;。 …

KeyguardClockSwitch的父类

KeyguardClockSwitch 定义在KeyguardStatusView中, mClockView findViewById(R.id.keyguard_clock_container);KeyguardClockSwitch的父类为&#xff1a; Class Name: LinearLayout Class Name: KeyguardStatusView Class Name: NotificationPanelView Class Name: Notificat…

【PythonRS】基于GDAL遥感影像分幅裁剪(固定尺寸)

之前分享过一篇分幅裁剪的文章&#xff1a;【Python&RS】基于GDAL遥感影像分幅裁剪&#xff0c;只不过这篇文章当时编写的逻辑是自己输入需要裁剪多少行多少列&#xff0c;由于大家可能并没有直观地希望自己裁剪多少行列&#xff0c;所以非常局限。今天跟大家分享一下使用固…

蓝桥杯 - 穿越雷区

解题思路&#xff1a; dfs 方法一&#xff1a; import java.util.Scanner;public class Main {static char[][] a;static int[][] visited;static int[] dx { 0, 1, 0, -1 };static int[] dy { 1, 0, -1, 0 };static long min Long.MAX_VALUE;static long count 0;publi…

记第一次eudsrc拿到RCE(上)

目录 前言 个人介绍 挖洞公式 漏洞介绍 CLI命令注入介绍 RCE漏洞介绍 漏洞详情 漏洞点1 漏洞点2 修复建议 总结 前言 免责声明 以下漏洞均已经上报漏洞平台。请勿利用文章内的相关技术从事非法测试。若因此产生一切后果与本博客及本人无关。 本来想大学四年都不会…

Linux 线程:使用管理线程、多线程、分离线程

目录 一、使用线程 1、pthread_create创建线程 2、pthread_join等待线程 主线程获取新线程退出结果 获取新线程退出返回的数组 3、线程异常导致进程终止 4、pthread_exit 5、pthread_cancel 6、主线程可以取消新线程&#xff0c;新线程可以取消主线程吗 二、如何管理线…

Linux 常用命令(持续更新中...)

1. ls 查看文件列表命令 语法&#xff1a; ls [-a -l -h] [Linux路径] -a -l -h 是可选的选项 &#xff08;-h需配合-l命令一起使用&#xff09;Linux路径是此命令可选的参数 ls #查看当前目录所有非隐藏文件(平铺方式显示) ls -a #查看当前目录下所有文件 …