CentOS安裝Eigen


1.下載

切換到root用戶。

$su root  # 切換root用戶,要輸入密碼
#cd  # 切換到root的家目錄
#wget http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz  # 下載Eigen

2.解壓安裝

#tar -zxvf 3.3.7.tar.gz  # 解壓

然后會有一個類似於eigen-eigen-xxxxxxxxxxxxxxx的文件夾。

#cd eigen-eigen-xxxxxxxxxxxxxxx  # 進入eigen解壓的目錄
#mkdir build  # 新建一個build文件夾
#cd build  # 進入build文件夾
#cmake ..  # 用cmake生成Makefile
#make install  # 安裝

默認安裝目錄為/usr/local/include/eigen3。Eigen庫只有頭文件組成,沒有.so.a那樣的共享庫或靜態庫,很神奇的一個庫。因此在使用時,引入頭文件即可,不需要鏈接庫文件。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM