make步骤出错,显示eigen3中并没有指定的type,是因为eigen3版本太高。
1.首先卸载高版本的eigen3
sudo rm -rf /usr/include/eigen3
sudo rm -rf /usr/lib/cmake/eigen3
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/share/doc/libeigen3-dev
sudo rm -rf /usr/local/share/pkgconfig/eigen3.pc /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums
sudo rm -rf /usr/local/lib/pkgconfig/eigen3.pc
sudo rm -rf /usr/local/share/eigen3
2.接着查询是否完全卸载:
sudo updatedb
locate eigen3
pkg-config --modversion eigen3
注:
sudo updatedb
命令用于更新 locate
命令的数据库。locate
是一个用于查找文件的快速而高效的命令,它通过搜索预先构建的文件名数据库而不是实时查找文件系统来提高效率。
具体来说,sudo updatedb
执行以下操作:
-
遍历文件系统: 在系统中搜索所有文件和目录。
-
创建数据库: 将找到的文件和目录的路径和相关信息添加到数据库中。
-
更新数据库: 如果已经存在数据库,
updatedb
会更新它,以反映文件系统的最新状态。
一旦数据库被更新,locate
命令就可以通过快速检索这个数据库来查找文件的位置,而不需要实时地遍历整个文件系统。这使得文件查找操作变得非常快速,特别是在大型文件系统上。
使用 sudo updatedb
的典型场景是在安装新软件、创建新文件或进行其他更改时,以确保 locate
数据库是最新的。这可以通过周期性地运行 sudo updatedb
或通过其他手段(例如,在系统启动时自动运行)来实现。
3.安装较低版本的eigen3
常规操作解压、编译、安装。
接着再去安装cere-solver就可以成功安装。
小小的疑问:
当前目录下并没有CMakeLixt.txt,为什么还可以照常进行创建build文件夹进行cmake操作呢?
这是有关cmake的问题~