编译A_LOAM 时,使用了SLAM 14讲配套代码中的ceres,但是由于该ceres版本太老了,导致ALOAM 编译出错,因此重新在ceres github上下载最新的安装包,手动编译.
下载ceres保本为2.0.0
编译步骤:
(1)mkdir build
(2)cd build
(3)cmake ..
(4)make -j4
(5)sudo make install
但是, 在cmake 时出现如下两个问题:
(1) Could not find a configuration file for package "Eigen3" that is compatible
with requested version "3.3".
(2) fatal error: Eigen/Core: No such file or directory
接下来分别介绍解决方法.
对于问题1,在ceres源码的cmakelist中,将find_package(Eigen3 3.3 REQUIRED) 修改为find_package(Eigen3 REQUIRED) ,可以解决cmake报错
在接下来的make中可能会遇到问题2.
解决方法:
下载新的eigen版本:下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page
这里我下载了3.3.8
新建build,然后cmake.. make 最后 sudo make install 就会装在/usr/local/include下:
一个问题:eigen是一个头文件,直接调用就可以,这里的sudo make install 只是将其加入到include下吗?
网上有的教程是 apt-get安装, 这样会安装在/usr/include/eigen3/eigen下,需要将其映射到/usr/include下:
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
可以参考该博客:https://blog.csdn.net/qq_36594547/article/details/102955881
将路经映射到include下.