fatal error: Eigen/Geometry: 没有那个文件或目录
在这里插入图片描述

1,首先把#include <Eigen/Geometry>声明后,仍然找不到,发现Geometry在/usr/include/eigen3/Eigen/Geometry,
2,然后在CmakeLists.txt上加上include_directories("/usr/include/eigen3/Eigen/Geometry")以及头文件改成#include <eigen3/Eigen/Geometry>仍不行
**

最后解决方案,

**

cd /usr/include
sudo ln -sf eigen3/Eigen Eigen
sudo ln -sf eigen3/unsupported unsupported

这里语句实现把eigen3目录下的Eigen和unsupported复制到eigen3同级目录下,然后在头文件声明#include <Eigen/Geometry>,就可以找到了。
分析:
ln -s 源文件 目标文件。
它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s。
-s : 进行软链结(symbolic link)
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
-f : 链结时先将与 dist 同档名的档案删除。