使用eigen库时出现找不到文件的错误
- 在编译点云处理程序时,会使用pcl,pcl依赖于eigen,出现错误
fatal error: Eigen/Core: No such file or directory
问题原因
- 出现这个错误的原因是eigen默认安装在/usr/include/eigen3/Eigen.我们需要的也是这个Eigen.
解决
出现这个问题首先要考虑是否安装了eigen库,可以进行以下命令检查:
$ sudo updatedb
$ locate eigen3
- 如果eigen已经正确安装
那么我们还需要检查CMakelist文件是否包含了eigen库的头文件,即include_directories("/usr/include/eigen3")
如果仍未成功,则需要链接对应的文件,即进行以下命令:
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
执行此命令是因为 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下,需使用下面命令映射到 /usr/include 路径下。
如下图,可以看到eigen3旁边出现了一个Eigen,类似与eigen3/Eigen的快捷方式
- eigen未正确安装
sudo apt-get install libeigen3-dev #进行安装
linux下的命令: sudo ln -s 源文件 目标文件
- 这是一个常用的linux命令,功能是为源文件在目标文件的位置建立一个同步的链接,当二者建立联系后即可在源文件中访问目标文件。
- 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。默认情况下,ln产生硬链接。如果给ln命令加上- s选项,则建立符号链接。