ubuntu安装eigen3.3.7

提示

不要使用:

sudo apt-get install libeigen3-dev

 进行安装,其无法指定安装版本,默认安装的是eigen3.3.2的。

查看已安装版本:

gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h

gedit /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h

上图中表示安装版本为:eigen3.3.7

卸载先前版本:

sudo updatedb  
locate eigen3  

得到eigen库的位置

卸载:

 
sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

安装

下载压缩包链接: https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz

安装步骤:

# 解压
sudo tar -xzvf eigen-3.3.7.tar.gz 

# 安装
cd eigen-3.3.7
mkdir build
cd build
sudo cmake ..
sudo make install
 
#安装后,头文件安装在/usr/local/include/eigen3/
 
# 移动头文件:

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include 

- - 在很多程序中include时经常使用#include <Eigen/Dense>;否则系统无法默认搜索到,build时会找不到;
- - 或者直接修改CmakeLists.txt中eigen3库的路径,include_directories( "/usr/local/include/eigen3" ),但太麻烦!

测试:

touch eigen-test.cpp
gedit eigen-test.cpp
#include <iostream>
#include <Eigen/Dense>
 
//using Eigen::MatrixXd;
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
 
using namespace std;
 
int main()
{
        cout<<"*******************1D-object****************"<<endl;
        Vector4d v1;
        v1<< 1,2,3,4;
        cout<<"v1=\n"<<v1<<endl;
 
        VectorXd v2(3);
        v2<<1,2,3;
        cout<<"v2=\n"<<v2<<endl;
 
        Array4i v3;
        v3<<1,2,3,4;
        cout<<"v3=\n"<<v3<<endl;
 
        ArrayXf v4(3);
        v4<<1,2,3;
        cout<<"v4=\n"<<v4<<endl;
}
g++ eigen-test.cpp -o eigen-test
./eigen-test

猜你喜欢

转载自blog.csdn.net/reasonyuanrobot/article/details/114372363