sudo apt-get install -y \
cmake \
g++ \
git \
google-mock \
libboost-all-dev \
libcairo2-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libsuitesparse-dev \
python-sphinx
1-protobuf
https://github.com/protocolbuffers/protobuf
protobuf安装方法参考官网
make clean
./configure
make -j4
sudo make installn
sudo ldconfig
2-ceres
https://github.com/ceres-solver/ceres-solver
ceres安装方法参考官网
make build && cd build
make -j4
sudo make install
sudo ldconfig
3-abseil
https://github.com/abseil/abseil-cpp
abseil的安装方法见https://blog.csdn.net/windxf/article/details/103963934
1-gRPC(版本1.27.0)
https://github.com/grpc/grpc/tree/v1.27.0
2-async_gprc
https://github.com/cartographer-project/async_grpc
3-cartographer
https://github.com/cartographer-project/cartographer
step-1: 建议先cmake 、make 、make install 一波流。
然后你会发现系统没有安装gRPCTargets.cmake,接着step-2和step-3可以解决
注意:如果这一步在make的时候不行,可能是openssl没有安装(安装了也链接不到,错误代码:underfined …BIO),这个时候可以用这句话cmake,指导它找到openssl,然后再make make install ,这里编译比较慢,根据自己电脑的情况make -jn , n是你电脑的物理线程数量
cmake -DgRPC_SSL_PROVIDER=package ..
step-2: 编译静态库
cmake -DgRPC_INSTALL=ON -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_ABSL_PROVIDER=package ..
step-3: 编译动态库
cmake -DgRPC_INSTALL=ON -DBUILD_SHARED_LIBS=ON -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_ABSL_PROVIDER=package ..
编译完后sudo ldconfig。
参考官方网址,或者https://blog.csdn.net/windxf/article/details/108792753
注意:在ubuntu20.04的版本中发现报找不大到c-ares库,可以手动安装
sudo apt install libc-ares-dev
没啥注意事项,因为之前gRPC用的版本不对,走了些弯路,记得用gRPC-1.27.0或稍前的版本。
记得在CmakeList.txt中把grpc打开,
option(BUILD_GRPC "build Cartographer gRPC support" true) #default is false
如果你安装过cartographer,也没啥注意事项,对了新版本要手动安装abseil,这个要安装静态库和动态库(-DBUILD_SHARED_LIBS=ON)
参考网址https://blog.csdn.net/windxf/article/details/108827649
cartographer_ros中记得在CmakeList.txt中把grpc打开
option(BUILD_GRPC "build features that require Cartographer gRPC support" true) #default is false
catkin_make之后运行grpc demo
roslaunch cartographer_ros grpc_demo_backpack_2d.launch bag_filename:=/home/peak/Downloads/ros_bag/carto/cartographer_paper_deutsches_museum.bag
由于系统版本和库版本的关系,你可能不能很好的运行,我这里把百度链接附上,其中protobuf和abseil可以在grpc的third_party中找到
https://pan.baidu.com/s/1_6ID7ebEGkELV6OHwFX95A 提取码: xrku
我使用的是ubuntu16.04.7 amd版本,cmake版本3.6.0