一、问题:
在跑vins-mono 的时候因为我的安装的Ceres2.1.0,但由于VINS-Mono是在ROS melodic以及Ceres1的环境下开发的,因此vins-mono在高于 Ceres versions 2.0.0时编译不成功。在不改变Ceres2.1.0的基础上运行vins-mono。
我参考了优快云上面的一篇文章并且成功了,文章链接放最后了。
1.2. Ceres Solver Follow Ceres Installation, use version 1.14.0 and remember to sudo make install. (There are compilation issues in Ceres versions 2.0.0 and above.)
本文运行系统Ubuntu20.04 Ceres2.1.0、Eigen3.4.0 、ros-noetic
二、适配VINS-Mono
1.1 适配Ceres2.1.0
按照那篇文章的思路,是由于Ceres-solver2.0.0及以上版本采用的是C++14编译,而VINS-Mono采用C++11编译,这导致采用C++11编译Ceres-solver2.0.0不能编译成功。只需要将所有文件夹下的CMakeLists.txt
文件全部修改为C++14编译
//原
set(CMAKE_CXX_FLAGS "-std=c++11")
set(