PX4-Autopolite linux环境下源码编译中遇到的一些问题及相应解决办法

      最近在做一个PX4飞控移植的项目,第一次接触到PX4源码,真的是感觉编译起来非常的麻烦,下面我将介绍几个新手比较容易踩坑的点。

(我都踩了ㄒ-ㄒ)

1.PX4源码要用git clone 从github上克隆来,千万不要直接在github中下载压缩包,因为这样下载下来的源码时没有.git文件夹的,.git文件夹在PX4源码编译的过程中是非常重要的,该文件夹是 Git 版本控制系统用来追踪项目更改历史,以及管理和同步代码的文件夹。这个文件夹包含了维护存储库的所有元数据,包括提交历史、分支信息和与远程存储库的交互。

和要在ubuntu中设置好github的访问权限:

ubuntu连接github(新手教学)_ubuntu怎么连接github-CSDN博客

可以参考这篇文章,这位博主写的很全面。

Px4飞控源码克隆,以前老版本的飞控克隆时一般是Firmware,现在是叫PX4-Autopolite

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

如果不好使的话就有几种情况:

(1)本身网络问题

可以使用如下方式克隆:git clone https://gitclone.com/github.com/PX4/PX4-Autopilot.git --recursive(添加了一个git clone.com的镜像网站)

git clone https://gitclone.com/github.com/PX4/PX4-Autopilot.git --recursive

(2)可能是如前面提到的没有设置好github的访问权限已经设置了git镜像网站替换,就是本身我们访问的github.com被换成了其他的

这时我们可以使用一个命令去查看

vim ~/.gitconfig 命令即可查看git当前的配置文件

vim ~/.gitconfig 

如果没有vim,输入上面命令会提示安装的,复制粘贴然后安装即可

输入指令会弹出这个,这里主要看url 如果有网址替换的话 url 那里会显示(“目标网址”)insteadof(“替换成的网址”)

想取消的以我遇到了的举例就输入

//去掉镜像网址替换

git config --global --unset url."https://github.com.cnpmjs.org/".insteadOf  

2.安装依赖工具链

这个安装工具链的脚本是官方提供的一键安装脚本

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

3.编译仿真器

make px4_sitl jmavsim

在Px4 autopolite 目录下打开终端

 

编译成功后会在bulid文件夹中生成一个文件(所有的编译构建都在PX4飞控源码的bulid文件夹中)

6. //编译源码

make px4_fmu-v2_default

7. //添加子模块

git submodule update --init –recursive

这个脚本在px4-autopolite文件夹下的.gitmodules中和.git文件夹的config中

8.  源码中查看git全部版本

git tag

9. //更新至哪个版本

git checkout -b v1.8.2

10.查看当前编译的代码是那个版本

git status

 查看当前编译使用的版本

git branch

11.//上传到板子上(官方给的方式)根据自己板子的适配

make px4_fmu-v2_default upload

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

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

相关文章

java SE--集合

1.Collection接口 Collection接口是List,Set,Queue接口的父接口,里面提供了子类的常用方法; List储存的是可以重复的,有序的数据,子类是arrayList(数组结构)和linkedList&#xff…

Mapreduce_Distinct数据去重

MapReduce中数据去重 输入如下的数据,统计其中的地址信息,并对输出的地址信息进行去重 实现方法:Map阶段输出的信息K2为想要去重的内容,利用Reduce阶段的聚合特点,对K2进行聚合,去重。在两阶段中&#xff…

24/8/15算法笔记 强化学习贪婪算法,UCB,汤普森算法

以老虎机为例介绍各算法 import numpy as np#每个老虎机的中奖概率,0-1之间均匀分布 probs np.random.uniform(size10)#生成一个数组,其中的元素是从均匀分布(也称为矩形分布)中随机抽取的。均匀分布意味着每个数出现的概率是相…

微服务架构的未来发展趋势

文章目录 摘要引言当前发展趋势ServerlessService MeshAIOps 未来可能出现的挑战代码示例微服务架构示例 QA环节小结未来展望参考资料 摘要 微服务架构在软件开发中已经成为主流,但随着市场需求和技术环境的快速变化,微服务架构也在不断演进。本文将分析…

如何为 Nextcloud 配置自动数据库备份 - 应用程序

自动数据库备份模块简化了生成数据库计划备份的过程。这些备份可以存储在各种位置,包括本地驱动器、FTP 服务器、SFTP 服务器、Dropbox、Google Drive、OneDrive、NextCloud 和 Amazon S3 云存储。用户还可以选择启用自动删除过期备份的功能。此外,用户可…

MyBatis-Plus 进阶之条件构造器Wrapper和常用接口

目录 1.wrapper 介绍 1.1什么是 wrapper 2.QueryWrapper 2.1测试前的准备 2.2例1:组装查询条件 2.3例2:组装排序条件 2.4例3:组装删除条件 2.5例4:条件的优先级 2.6例5:组装 select 子句 2.7例6:…

[Linux][OS][信号的保存和处理]

目录 信号的处理 1. 在内核中的表示 2. 相关概念 3. 信号集操作函数 4.sigprocmask 5.sigpending 信号的捕捉 重谈地址空间 信号的处理 1. 在内核中的表示 普通信号,多次产生只会记录一次 信号范围 [1,31],每一种信号都要有自己的一种处理方式…

【ElementUI】el-table值相同时合并行

效果图&#xff1a; 大致思路&#xff1a;el-table里添加合并行或列的计算方法span-method <el-table :data"tableList" :span-method"objectSpanMethod"> // 在获取到列表数据tableData后调用此方法 handleTableData(tableData) {let rowSpanArr …

Java JDVC编程

1、Java的数据库编程&#xff1a;JDBC JDBC&#xff08;Java Database Connectivity&#xff09;是Java中用来与数据库进行交互的一种标准API&#xff08;应用程序编程接口&#xff09;。它为开发人员提供了一种统一的方式来访问各种类型的数据库管理系统&#xff08;DBMS&…

【深度学习实践】基于深度学习的图像去雾算法-ChaIR-实践

本文介绍一个去雾算法ChaIR的使用方法&#xff0c;可以完成图像去雾&#xff0c;也可以用于图像去雨、去噪音等任务。本文不涉及论文原理&#xff0c;只包含源代码的跑通和使用。 先展示一下效果&#xff1a; 原图去雾 论文&#xff1a;Exploring the potential of channel …

如何以编程方式解析 XCResult 包的内容

文章目录 介绍查找 XCResult 包分享 XCResult 包 解析 XCResult 包自动解析 XCResult 包的内容 使用 XCResultKit 解析包的内容初始化库获取调用记录 获取测试信息导出屏幕录制 可运行 Demo初始化 Swift Package编写主文件代码解释运行 Demo 结论 介绍 XCResult 包是一个包含运…

ASP.NET在线交流论坛管理系统

ASP.NET在线交流论坛管理系统 说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于asp.net架构和sql server数据库 用户功能有个人信息管理 帖了信息管理 意见反馈信息管理 点赞管理 收藏管理 后台管理员可以进行用户管理 …

数据结构-查找

一、基本术语 二、线性结构 ASL&#xff1a;平均查找长度 1、顺序查找 1.1、代码实现 typedef struct {int* elem;int TableLen; }SSTable;int Search_Seq(SSTable ST, int key) {ST.elem[0] key; //哨兵&#xff0c;使得循环不用判断数组是否会越界int i;for (i ST…

LoadRunner性能指标分析常用监控参数

性能分析&#xff0c;Windows自带一种 &#xff0c;LoadRunner自带一种&#xff0c;2种参数类似 Windows自带入口 运行中搜索&#xff1a;性能监视器 进到&#xff1a;性能-数据收集器-用户定义-右键-新建-数据收集器集 名称自己任意输入&#xff0c;选择手动创建 数据类型根…

Haproxy的配置详解与使用

一、haproxy简介 HAProxy是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬…

JavaScript基础——函数

函数简介 定义函数 调用函数 函数的参数和返回值 函数参数 1.有形参情况下不传递实参 2.传递数量少于形参个数的实参 3.传递数量等于形参个数的实参 函数返回值 报错Uncaught SyntaxError: Illegal return statement 返回数字和字符串 返回数组、对象和函数 没有返回…

nginx服务部署及其平滑升级

概述 1. 7层负载均衡&#xff08;nginx&#xff09; 1. 停掉4层的环境 systemctl disable --now keepalived.service # 停用之前的4层协议方式2. 源码安装nginx tar zxf nginx-1.22.1.tar.gz 具体方式是源码编译“三部曲” ./configure # 负责检查环境&#xff0c;生成指导…

JAVA实现GB/T 32960.3—2016电动汽车远程服务与管理系统技术规范 第3部分:通信协议及数据格式

完整的TCP服务端解析代码 1.maven依赖 不要的依赖自行删除&#xff0c;懒的删了 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-in…

Jenkins持续集成工具学习

一、从装修厨房看项目开发效率优化 二、持续集成工具 三、JavaEE项目部署方式对比 四、JenkinsSVN持续集成环境搭建 五、JenkinsGitHub持续集成环境搭建

8 个最佳 Java IDE 和文本编辑器

从 2024 年使用的最佳 Java IDE 和代码编辑器中进行选择&#xff0c;并提高您的 Java 生产力。 Java 是世界上最流行的编程语言之一&#xff0c;于 1995 年首次推出&#xff0c;它确实践行了“编写一个&#xff0c;随处运行”的座右铭。该语言用途广泛&#xff0c;可用于构建从…