1. 程式人生 > >Ubuntu Codeblocks配置Eigen Sophus

Ubuntu Codeblocks配置Eigen Sophus

image 字體 spa dex .so ostream eigen namespace axis

1.配置Eigen

從網站http://eigen.tuxfamily.org/index.php?title=Main_Page

下載Eigen的安裝包,並解壓。

在codeblocks中的設置-編譯器-全局編譯器設置-搜索路徑-編譯器,添加解壓後的Eigen安裝包即可。

技術分享圖片

編寫簡單的程序測試

 1 #include <iostream>
 2 #include <Eigen/Dense>
 3 #include <Eigen/Core>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     Eigen::Matrix3d m;
9 m << 1,2,3,4,5,6,7,8,9; 10 cout << m << endl; 11 return 0; 12 }

編譯運行查看結果。

技術分享圖片

看起來字體比較小,這環境設置中切換為終端輸出。

技術分享圖片

終端中的輸出為:

技術分享圖片

2.配置Sophus

在終端中輸入

git clone http://github.com/strasdat/Sophus.git

cd Sophus/

git checkout a621ff

mkdir build

cd build

cmake ..

make

編譯完成後

  • 1 將Sophus添加到搜索路徑

技術分享圖片

  • 2 將build文件夾中的 libSophus.so添加到鏈接器設置中的鏈接庫

技術分享圖片

  • 3 將build文件夾中的 libSophus.so復制到/usr/lib/x86_64-linux-gnu目錄下,在/usr/lib/x86_64-linux-gnu文件夾打開終端輸入

$ sudo cp /home/kingbird/Sophus/build/libSophus.so libSophus.so

寫測試程序

#include <iostream>
#include <Eigen/Dense>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include "sophus/so3.h"
#include 
"sophus/se3.h" using namespace std; int main() { Eigen::Matrix3d m; m << 1,2,3,4,5,6,7,8,9; cout << m << endl; Eigen::AngleAxisd A1(M_PI / 2, Eigen::Vector3d(0, 0, 1)); Eigen::Matrix3d R1 = A1.matrix(); Eigen::Quaterniond Q1(A1); Sophus::SO3 SO3_R(R1); cout << "SO(3) SO3_R from Matrix" << SO3_R << endl << endl; return 0; }

輸出結果

技術分享圖片

配置完成。

Ubuntu Codeblocks配置Eigen Sophus