在ros环境下编译C++报错,fatal error: Eigen/Core: 没有那个文件或目录。原因有两种可能:
- ubuntu没有安装Eigen3库
- CMakeList文件没有包含Eigen3的头文件
首先在终端中输入下面命令判断是否安装了Eigen3库:
sudo updatedb
locate eigen3
如果出现了Eigen3的路径,那么就是安装了,如下:
如果发现没有安装Eigen3库
在终端输入下面命令进行安装
sudo apt-get install libeigen3-dev
如果Eigen3库存在
检查CMakeList文件是否包含了eigen库的头文件,即是否添加了include_directories("/usr/include/eigen3")
如果还没有成功,在终端执行
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
执行此命令是因为 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下,需使用下面命令映射到 /usr/include 路径下。