SLAM十四讲第二版ch4 useSophus报错

在根据高博的提示对Sophus进行安装后,useSophus编译的时候出现问题会出现如下问题:

fatal error: sophus/se3.hpp:没有那个文件或目录

SLAM十四讲第二版ch4 useSophus报错_第1张图片
在经过查询后,网上有两种说法:
1、eigen版本需要3.3以上,于是去Eigen官网.下载了最新的3.3.8版本。结果并没有解决这一点。
2、Sophus需要安装,不能按照十四讲的说法只编译,于是我用了下面的命令来进行安装。

sudo make install

然后,重新对useSophus进行编译,结果make的时候报了更多的错误…
SLAM十四讲第二版ch4 useSophus报错_第2张图片
于是又开始搜索我到底是哪里出错了,在看到这篇文章[link]后我突然醒悟了。
看到上面两个报错中,都出现了

[example/CMakeFiles/trajectoryError.dir...]

因为按照书本顺序测试代码环境,所以trajectoryError.cpp的代码还没有进行测试,所以这个时候我不应该subdirectory。
回到CMakeLists.txt中,有这样一句话:

add_subdirectory(example)

把这句话注释后,并卸载掉原来安装(也可不卸载)的Sophus就解决了,Eigen还是用的我后来安装的Eigen3.3.8。

至于在测试trajectoryError中遇到的问题,可以参考我的 下一篇博客.

补充:
Sophu卸载方法:
1、找到Sophus位置

locate sophus

2、用命令行进行卸载,我的位置如下

sudo rm -r /usr/local/include/sophus
sudo rm -r /usr/local/share/sophus

你可能感兴趣的:(SLAM十四讲,linux,ubuntu)