Pixhawk6c编译

以前一直用pixhawk4以及4mini,版本1.11,这两款目前停产,6x也快停产,没什么货源了。只能试试6c。

一:下载

流程:按照官网的流程,先git clone

输入:

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

此时会出现问题:从github官方git clone速度慢,或者很多子模块连接拒绝,或者其他原因

解决思路1:把github上的PX4-Autopilot仓库导入gitee, 把路径PX4-Autopilot/.gitmodules文件中的子模块仓库也全部导入gitee中。

Pixhawk6c编译_第1张图片

Pixhawk6c编译_第2张图片

 

PS1:github和gitee都需要账号并且登录

PS2:导入成功后可能避开github直接从gitee  git clone了。

解决思路2:不停地

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

每次可能会clone一些子模块,可能不会,看运气。我自己先2后1。

再把所有子模块按照.gitmodules中git clone后,就可以开始编译了。

PS1: git submodule update --init --recursive子模块都导入后,输入会直接跳过,但是我从github  git clone后,虽然也是直接跳过,但是实际去子模块位置看,并没有对应地代码文件,所以这里需要注意,缺少文件导致后续编译出问题。

PS2:ctrl+H可以查看.gitmodules这个隐藏文件

二:编译

流程:make px4_fmu-v6c_default 

问题1:‘/home/XXX/PX4-Autopilot/src/lib/events/libevents/events/common.json’, needed by ‘events/common_with_enums.json’, missing and no known rule to make it

分析: 原因是没有克隆所有子仓库的文件,参考这一篇博文

https://blog.csdn.net/AEFDOGCCC/article/details/124647417

当时我去events文件夹下面看了看,里面除了.git空的,也就是说子模块并没有clone下来,从github clone, 即使git submodule update --init --recursive跳了,也并不一定下载了子模块。

解决方法:一中讲了

问题2:No module named 'future'    ;    No module named 'jsonschema'

分析:讲得比较清楚了,缺少模块

解决方法:

Pixhawk6c编译_第3张图片

 

 最后,再编译:make px4_fmu-v6c_default 

Pixhawk6c编译_第4张图片

 Pixhawk6c编译_第5张图片

 编译下载

Pixhawk6c编译_第6张图片

 

你可能感兴趣的:(Pihxawk基础,github,git)