• 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".

    在对应的CMakeLists.txt中可以看到,由于BA优化在小于3.3.4版本的Eigen中可能失败,所以要求Eigen的版本不小于3.3.4。

    Eigen的版本可以在 /usr/include/eigen3/Eigen/src/Core/util/Macros.h 中查看,我的版本为3.2.9,所以在 find_package 3.3.x版本的Eigen时会出现错误。

    解决方法

    卸载原来的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 。我下了最新的3.3.7版本。

    安装依赖项

     1 sudo apt-get install libopenblas-dev
     2 sudo apt-get install --no-install-recommends libboost1.58-all-dev
     3 sudo apt-get install libx11-dev
     4 sudo apt-get install libgl1-mesa-dev 
     5 sudo apt-get install libglu1-mesa-dev 
     6 sudo apt-get install freeglut3-dev
     7 sudo apt-get install doxygen
     8 sudo apt-get install cmake
     9 sudo wget https://nchc.dl.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz --no-check-certificate
    10 sudo tar -xzvf glew-2.1.0.tgz
    11 cd glew-2.1.0/
    12 sudo make 
    13 sudo make install
    14 sudo ldconfig -v

    安装Eigen3.3.7

    1 mkdir build
    2 cd build
    3 cmake ..
    4 make
    5 sudo make install
    6 sudo ldconfig -v

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

    sudo cp -r /usr/local/include/eigen3 /usr/include/eigen3 
    sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

    至此大功告成,现在再安装Ceres就不会报错了。

     

  • 相关阅读:
    Javascript常见全局函数
    字符串入门练习题1 好长好长的字符串 题解
    字符串入门 讲义
    初等排序 大纲
    初等排序 讲义
    排序入门练习题10 病人排队 题解
    排序入门练习题9 合影效果 题解
    排序入门练习题7 分数线划定 题解
    排序入门练习题8 整数奇偶排序 题解
    排序入门练习题6 奖学金 题解
  • 原文地址:https://www.cnblogs.com/didada/p/12305066.html
Copyright © 2020-2023  润新知