Eigen的安装与版本管理
本文最后更新于 2024年6月17日 下午
本文主要分享了在Linux下Eigen库的安装与版本管理。
安装
利用apt-get进行安装
1 |
|
通过上面的方式进行安装的Eigen,一般是存放在/usr/include
,有一个eigen3
文件夹。
查看当前版本:
1 |
|
利用源码进行安装
这里我是在之前已经通过apt-get
在/usr/include/eigen3
里安装了Eigen3.4.0
的基础上安装配置Eigen3.3.0
。
-
在
/usr/include
新建文件夹,等会用来存放Eigen的编译生成的文件:1
2cd /usr/include
sudo mkdir eigen330 -
下载Eigen。
进入你准备放置Eigen源文件的目录:
1
cd yourgfolder/ # 区别于第1步的eigen330
从Eigen下载链接下载你需要的Eigen版本,并解压到
yourgfolder
。 -
编译Eigen。
1
2
3
4
5mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/include/eigen330 ..
sudo make -j8
sudo make install -
这时,
/usr/include/eigen330
目录下生成了3个文件夹,分别是include
、lib
和share
。而/usr/include/eigen3
目录下的3个文件(夹)分别是Eigen
、unsupported
和signature_of_eigen3_matrix_library
。因此,类比下,我们要使用复制命令
cp
将/usr/include/eigen330/include/eigen3
目录下的3个文件(夹)Eigen
、unsupported
和signature_of_eigen3_matrix_library
复制到/usr/include/eigen330/
目录下。1
2
3
4
5
6cd /usr/include/eigen330/include/eigen3
ls
sudo cp -r Eigen/ /usr/include/eigen330/
sudo cp -r unsupported/ /usr/include/eigen330/
sudo cp signature_of_eigen3_matrix_library /usr/include/eigen330/
# -r 或 --recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。 -
这样
/usr/include
目录下就存在两个版本的eigen
,一个是以eigen3
命名的通过apt-get
的方式安装的最新版本3.4.0,另外一个是以eigen330
命名通过编译源码的形式安装的自选指定版本3.3.0。
版本管理
mv命令
Linux mv
(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
1 |
|
注意:需要先执行
Ctrl+H
显示隐藏文件命令,否则,隐藏文件以及隐藏文件夹不会被移动到新目录。
eigen3.pc文件
系统是通过eigen3.pc
这个文件搜索eigen
库的,两种方式安装都会生成一个eigen3.pc
文件,通过apt-get
安装的存放在/usr/share/pkgconfig
文件夹下,通过源码安装的就存放在安装目录的share/pkgconfig
文件夹下。除了第一行的安装位置以及第七行版本的差别,两个文件没有其他差别。
实际操作
由于我们的eigen3
放在了/usr/include
下,因此第一行不用改,保持prefix=/usr
即可。需要修改Version
,用哪个版本就改成哪个版本号,另一个版本用//
注释掉即可,修改完保存退出。
现为3.4.0版本,想要切换到3.3.0版本:
1 |
|
这样就通过重命名的方式改变系统查找文件时的指向,进而完成了版本切换的工作。
现为3.3.0版本,想要切换回3.4.0版本:
1 |
|