Ubuntu Codeblocks配置Eigen Sophus
阿新 • • 發佈:2018-09-22
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