SLAM疑难篇一:ceres安装和编译报错——实践高翔SLAM十四讲

    技术2025-08-01  18

    要点总结

    安装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. Recommended

    改进方案

    查看你的依赖的eigen库

    ceres官网显示3.2.2以上版本强烈建议,因此先查看自己的eigen版本

    vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

    可以看到,我的eigen版本是3.3.4,满足了官网的条件,因此进行下一步

    下载ceres最新稳定版

    从官网下载ceres-solver-1.14.0.tar.gz,点击红框处下载latest stable release最新稳定版

    如果官网打不开,这里放一个分享地址,

    提取码:rhh8

    移入ubuntu并安装

    解压缩下载的tar.gz文件,通过winscp将该文件发送到ubuntu内

    cd ceres-solver-1.14.0 mkdir build cd build cmake .. make -j2 (我的虚拟机是双核的,因此-j2;此步骤耐心等待) sudo make install

    make 后如果显示100%完成,则成功;最后sudo make install

    结语

    按照这个步骤,博主的问题都得到了解决

    如果对你有帮助,还请点赞、收藏!

    Processed: 0.008, SQL: 9