文章目录
- 1 Git clone 代码
- 2 下载子模块
- 3 编译
- 4 可能遇到的问题
- 参考
1 Git clone 代码
Github Repository 链接:PX4-Autopilot
查看现有版本:
在终端用命令下载,-b表示branch
git clone -b v1.14.0 https://github.com/PX4/PX4-Autopilot.git
注意:不要直接下载zip或者tar.gz压缩包,里面没有git文件,里面有些内容是缺失的,所以输入make px4_fmu-v6c_default
会报错:
make px4_fmu-v6c_default
Makefile:39: *** YOU HAVE TO USE GIT TO DOWNLOAD THIS REPOSITORY. ABORTING.. Stop.
2 下载子模块
编译前需要联网下载子模块
git submodule update --init --recursive
会在Cloning into '/home/scarlett/Debs/1.14.0/PX4-Autopilot/platforms/nuttx/NuttX/nuttx'...
这里卡的比较久,不要着急Ctrl
+C
下载完成:
3 编译
然后输入make命令,即可顺利编译完成:
make px4_fmu-v6c_default # 我这里的版本用的是px4_fmu-v6c
4 可能遇到的问题
如果第3步和第2步的顺序反了,那么在执行git submodule update --init --recursive
时可能会出现如下报错:
fatal: destination path '/home/scarlett/Debs/1.14.0/PX4-Autopilot/platforms/nuttx/NuttX/nuttx' already exists and is not an empty directory.
fatal: clone of 'https://github.com/PX4/NuttX.git' into submodule path '/home/scarlett/Debs/1.14.0/PX4-Autopilot/platforms/nuttx/NuttX/nuttx' failed
Failed to clone 'platforms/nuttx/NuttX/nuttx' a second time, aborting
解决办法是输入make distclean
再重新输入git submodule update --init --recursive
参考
Make stuck on checking submodule Nuttx