二进制安装与源码安装二选一否则报错
二进制安装
sudo apt install ros-melodic-cartographer*
源码安装
sudo apt-get update
sudo apt-get install -y \
clang \
cmake \
g++ \
git \
google-mock \
libboost-all-dev \
libcairo2-dev \
libcurl4-openssl-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libsuitesparse-dev \
lsb-release \
ninja-build \
stow
安装abseil
cd ~/3rdparty
git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
git checkout d902eb869bcfacc1bad14933ed9af4bed006d481
mkdir build
cd build
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl \
..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow absl
安装ceres
VERSION="1.13.0"
# Build and install Ceres.
cd ~/3rdparty
git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
git checkout tags/${VERSION}
mkdir build
cd build
cmake .. -G Ninja -DCXX11=ON
ninja
CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install
安装protobuf
VERSION="v3.4.1"
# Build and install proto3.
cd ~/3rdparty
git clone https://github.com/google/protobuf.git
cd protobuf
git checkout tags/${VERSION}
mkdir build
cd build
cmake -G Ninja \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_BUILD_TYPE=Release \
-Dprotobuf_BUILD_TESTS=OFF \
../cmake
ninja
sudo ninja install
安装cartographer
cd ~/3rdparty
git clone https://github.com/cartographer-project/cartographer
cd cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install
cd ~/test/src
git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws.git
#带注释版本
cd cartographer_detailed_comments_ws
git pull origin master #拉取最新版本
#删除cartographer里面的package.xml
rm ~/test/src/cartographer_detailed_comments_ws/src/cartographer/package.xml
cd ~/test && catkin_make
echo "source ~/test/devel/setup.bash" >> ~/.bashrc && source ~/.bashrc