安装ceres如果遇到报错,那么绝大多数的原因是和ceres依赖的eigen、cmake的版本有关系
这里参考官网的说明文档:链接
下载的高翔的SLAM十四讲源码,直接解压3rdparty/ceres-solver.tar.gz,然后进入文件夹mkdir一个build文件夹,内部cmake,就出错了
查阅了一些资料发现,高翔的SLAM源码里的ceres的版本有点陈旧,应该在官网下载最新的稳定版本,并且依赖项也需要更换成匹配的版本,ceres官网链接写的很清楚(TIPS:链接在上方,不熟悉英文的朋友可以用谷歌翻译插件对页面进行翻译)
Eigen 3.2.2 or later strongly recommended, 3.1.0 or later required. CMake 2.8.0 or later. Required on all platforms except for Android. glog 0.3.1 or later. Recommendedceres官网显示3.2.2以上版本强烈建议,因此先查看自己的eigen版本
vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h可以看到,我的eigen版本是3.3.4,满足了官网的条件,因此进行下一步
从官网下载ceres-solver-1.14.0.tar.gz,点击红框处下载latest stable release最新稳定版
如果官网打不开,这里放一个分享地址,
提取码:rhh8
解压缩下载的tar.gz文件,通过winscp将该文件发送到ubuntu内
cd ceres-solver-1.14.0 mkdir build cd build cmake .. make -j2 (我的虚拟机是双核的,因此-j2;此步骤耐心等待) sudo make installmake 后如果显示100%完成,则成功;最后sudo make install
按照这个步骤,博主的问题都得到了解决
如果对你有帮助,还请点赞、收藏!