如果图省事的话,可以参照下面的方法:(核心为复制粘贴,很方便)
注意:ROS版本仅适用于kinetic、melodic、noetic,可以跨版本互传
一、确认protoc的版本
$ protoc --version
需要3.0.0以上的
二、安装依赖
$ sudo apt-get update
$ sudo apt-get install -y python-wstool python-rosdep ninja-build stow
三、从别人那把通过源码安装的cartographer和cartographer_ros复制过来
先自己创建一个工作空间:
$ mkdir ~/carto_ws
$ cd ~/carto_ws
$ wstool init src
然后:
从别人的“src”中把“cartographer”和“cartographer_ros”复制到自己的“src”中
删除 “/src/cartographer/scripts/abseil-cpp”中的“build”文件夹
删除“/src/cartographer/scripts”中“install_abseil.sh”脚本中“git clone https://github.com/abseil/abseil-cpp.git”这一句
四、重新编译
先是abseil
$ sudo chmod +x ~/carto_ws/src/cartographer/scripts/install_abseil.sh
$ cd ~/carto_ws/src/cartographer/scripts
$ ./install_abseil.sh
然后是整个工作空间
$ cd ~/carto_ws
$ catkin_make_isolated --install --use-ninja
$ source install_isolated/setup.bash
!!大功告成!!
这里提供删减后的功能包下载:度盘
提取码:hg9a
注意:这里的为从X86上拷过来的,ARM架构的需要对应在ARM上编译的版本,这里不提供