OrbSlam2环境配置

首先是Eigen库文件

Eigen只包含头文件,因此它不需要实现编译,只需要你include到你的项目,指定好Eigen的头文件路径,编译项目即可。而且跨平台,当然这是必须的。

我们为了替换版本,不用命令安装

下载Eigen库

https://github.com/eigenteam/eigen-git-mirror/releases?after=before-evaluators

这里选择3.1.3

因为OrbSlam2要求最低3.1以上版本,不选太新是害怕不兼容

解压后,改名

OrbSlam2环境配置

打开看下里面:

OrbSlam2环境配置

这里面有两个东西有用

Eigen和unsupported

我们把文件夹整体拷贝到 /usr/include

命令:

sudo cp -r ynh_eigen3 /usr/include 

打开/usr/include看看

友情提示:改名命令,sudo mv ynh_eigen3 ynh_eigen3.1.3  mv后面是旧名字,最后是新名字

OrbSlam2环境配置

 

打开工程,导入头文件进行测试:

#include <iostream>
#include <ynh_eigen3.1.3/Eigen/Dense>

using Eigen::MatrixXd;
using namespace Eigen;
using namespace std;


int main()
{
    std::cout << "Hello, World!" << std::endl;
    MatrixXd m(2,2);
    m(0,0) = 3;
    m(1,0) = 2.5;
    m(0,1) = -1;
    m(1,1) = m(1,0) + m(0,1);
    std::cout << m << std::endl;

    MatrixXd M1 = MatrixXd::Random(3,3);
    M1 = (M1 + MatrixXd::Constant(3,3,1.2)) * 50;
    cout << "M1 =" << endl << M1 << endl;
    VectorXd V1(3);
    V1 << 1, 2, 3;
    cout << "V1 =" << endl << V1 << endl;
    cout << "M1 * V1 =" << endl << M1 * V1 << endl;
}

 

OrbSlam2环境配置

但是实际项目中,和别人对接,用自己名字太中二,

大家一般都是

#include <Eigen/Dense>

 

所以,下次我们复制的时候,不要整体,就把原文件下的Eigen放在 /usr/include 

有些人会有unsupported模块的需求,所以直接也把,unsupported放入到Eigen,一起拷贝到 /usr/include 

OrbSlam2环境配置