Linux【8】-软件管理-9-软件安装9-CentOS安装Eigen

一、安装

1.1.下载

cd  /data/software/download
wget http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz  # 下载Eigen

1.2.解压安装

tar -zxvf 3.3.7.tar.gz  # 解压

然后会有一个类似于eigen-eigen-xxxxxxxxxxxxxxx的文件夹。

cd eigen-eigen-xxxxxxxxxxxxxxx  # 进入eigen解压的目录
mkdir build  # 新建一个build文件夹
cd build  # 进入build文件夹
cmake -DCMAKE_INSTALL_PREFIX=/data/software/smina/library/eigen3  # 用cmake生成Makefile
make install  # 安装

默认安装目录为/usr/local/include/eigen3。Eigen库只有头文件组成,没有.so或.a那样的共享库或静态库,很神奇的一个库。因此在使用时,引入头文件即可,不需要链接库文件。

1.3 示例

参考官方的例子:http://eigen.tuxfamily.org/dox/GettingStarted.html。

cd  # 回到家目录
mkdir EigenExample  # 建一个文件夹
cd EigenExample  # 进入这个文件夹
vi TestEigen.cpp  # 编辑C++代码

然后输入以下代码:

#include <iostream>
#include <Eigen/Dense>  // 稠密矩阵的代数运算,如求逆,特征值等

using namespace std;

int main(int argc, char** argv) {
		Eigen::MatrixXd m(2,2);  // 声明一个2x2的矩阵
		m(0, 0) = 3;  // 开始矩阵赋值
		m(1, 0) = 2.5;
		m(0, 1) = -1;
		m(1, 1) = m(1, 0) + m(0, 1);
		cout << m << endl;  // 打印矩阵
		return 0;
}

接下来写一个CMakeLists.txt。

$vi CMakeLists.txt

内容如下:

# 声明需要的cmake最小版本为2.8
cmake_minimum_required(VERSION 2.8)
# 声明cmake工程
project(Eigen)
# 设置编译模式为发布模式
set(CMAKE_BUILD_TYPE "Release")
# 设置编译参数
set(CMAKE_CXX_FLAGS "-O3")
# 添加Eigen头文件
include_directories("/usr/local/include/eigen3")
# 添加一个可执行程序
add_executable(TestEigen TestEigen.cpp)

然后编译:

$mkdir build  # 新建build文件夹
$cd build  # 进入build文件夹
$cmake ..  # 用cmake生成Makefile
$make  # 编译,会生成一个TestEigen的可执行文件
$./TestEigen  # 执行

输出的结果为:

	3    -1
2.5  1.5

源码可于github下载:https://github.com/gkimeeq/SLAMLearning。

参考资料

https://www.cnblogs.com/Ooman/p/11433039.html

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn