安装ceres提示“找不到要求版本3.3的Eigen3”解决办法

在安装Ceres库cmake时报错提示找不到Eigen3.3。

Could not find a configuration file for package "Eigen3" that is compatible with requested version "3.3".

在/usr/include/eigen3/Eigen/src/Core/util/Macros.h 查看版本,我的版本是3.2.92 所以无法安装

解决方法

卸载原来的Eigen,安装3.3.4之后的新版本。

首先卸载Eigen,定位到相关文件,直接手动删除


sudo updatedb 

locate eigen3

sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3/usr/share/doc/libeigen3-dev/usr/share/pkgconfig/eigen3.pc/var/lib/dpkg/info/libeigen3-dev.list/var/lib/dpkg/info/libeigen3-dev.md5sums

然后下载安装3.3.4版本之后的Eigen,apt-get不能指定Eigen版本,这里推荐手动安装。

下载地址 https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz

安装依赖:

sudo apt-getinstalllibopenblas-dev

sudo apt-getinstall--no-install-recommends libboost1.58-all-dev

sudo apt-getinstalllibx11-dev

sudo apt-getinstalllibgl1-mesa-dev

sudo apt-getinstalllibglu1-mesa-dev

sudo apt-getinstallfreeglut3-dev

sudo apt-getinstalldoxygen

sudo apt-getinstallcmake

sudo wget https://nchc.dl.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz--no-check-certificate

sudo tar -xzvf glew-2.1.0.tgz

cd glew-2.1.0/

sudo make

sudo makeinstall

sudo ldconfig -v

安装Eigen3.3.7

mkdirbuild

cdbuild

cmake..

make

sudomake install

sudoldconfig -v

apt-get安装eigen3的路径为 /usr/include/eigen3 ,这里也保持一直;此外,需使用下面命令将Eigen映射到 /usr/include 路径下,因为在很多程序中include时经常使用#include 而不是使用#include ,不映射的话一些程序在编译时会因找不到Eigen/Dense而报错。

sudo cp -r/usr/local/include/eigen3/usr/include/eigen3

sudo ln -s/usr/include/eigen3/Eigen/usr/include/Eigen

你可能感兴趣的:(安装ceres提示“找不到要求版本3.3的Eigen3”解决办法)