遇到这种一般是因为PX4服务器在国外,国内连接困难导致有一些文件夹没有下载完全,或者完全是空壳子导致。
通用解决方法
我们可以去到对应模块目录下(例如文件夹/home/你自己的用户名/PX4-Autopilot/src/modules/microdds_client/Micro-XRCE-DDS-Client,对应上面第三种报错),发现里面只有一个文件。这个文件夹的存在让github以为我们下载好了,但实际上并没有下载好,于是我们需要手动重新clone该子模块。
PX4需要的子模块及其链接能在/home/你自己的用户名/PX4-Autopilot/.gitmodules文件里找到。
以该子模块为例,我们能在文件中找到以下内容
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
url = https://github.com/PX4/Micro-XRCE-DDS-Client.git
branch = px4
于是我们可以进入到目录/home/你自己的用户名/PX4-Autopilot/src/modules/microdds_client将文件夹Micro-XRCE-DDS-Client删除,并在当前目录下开启终端,执行命令:
git clone https://github.com/PX4/Micro-XRCE-DDS-Client.git
然后回到PX4-Autopilot目录下再次尝试编译。
类似的在子模块的子模块也可能出现未成功下载的情况,同理找到对应文件夹下的.gitmodules文件里的子模块链接手动下载即可。
————————————————
版权声明:本文为CSDN博主「理想主义者的胜利」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wmj_studying/article/details/130089119
这里摘自有一篇价值不错的博客,向大家推荐一下