学习高翔《视觉SLAM十四讲》第二版时遇到的问题。
ubuntu16.04
参考1 卸载apt安装的老版本eigen库,重新手动安装新版本eigen库,位置在/usr/local/include。安装新版本的模板类sophus。
参考2 安装pangolin(具体安装步骤以解压后的Pangolin文件夹中的README.txt为准)。
出现的问题:
在ch3 cmake … 时报错
“pangolin” includes non-existent path “/usr/include/eigen3”
出错的代码位于CMakeLists.txt中的
find_package( Pangolin )
include_directories( ${Pangolin_INCLUDE_DIRS} )
原因:
非apt安装的eigen,不在/usr/include/下,而是/usr/local/include下。而pangolin应该是自动跑到/usr/include去找eigen3没找到。
治标不治本的解决方法:
terminal中跑一下
sudo ln -s /usr/local/include/eigen3 /usr/include/eigen3
这段命令相当于搞了一个快捷方式。可以通过 ls /usr/include/eigen3 和 ls /usr/local/include/eigen3/ 验证,这两个位置都有Eigen。
非常简单粗暴,不排除某些情况下实际编译还会出现问题,但至少我此时没问题了。