ceres、eigen多版本使用

        最开始我下载了ceres2.1.0版本,然后为了运行其他人的程序需要安装ceres1.14.0,于是有了下面经历。

        碰到的第一个问题就是:ceres1.14.0依赖3.2.5及以下版本的eigen  

        于是我首先要:

安装多版本的eigen

        在这之前我已经安装了eigen3.4.0。 需要安装eigen3.2.5。

        1、下载eigen3.2.5安装包,下载地址:Releases · libeigen / eigen · GitLab

        2、选好路径(随便),然后解压。进入解压出的eigen-3.2.5文件夹,创建build文件夹

        3、进入/usr/local/include下,创建文件夹eigen340和eigen325,这是为了切换eigen版本,/usr/local/include下已经有一个eigen3文件夹,这是eigen3.4.0的。

        4、进入在第2步中创建的build文件夹中编译并设置安装路径,将eigen3.2.5安装到第3步创建的eigen325文件夹中

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/include/eigen325 ..
make -j8
sudo make install

切换eigen版本及使用

        将/usr/local/include下的eigen3放回eigen340文件夹中,将/usr/local/include/eigen325/include下的eigen3放到/usr/local/include上就完成了版本的切换。在/usr/local/include打开终端,输入:

sudo mv eigen3 eigen340
sudo mv eigen325/include/eigen3 .

同样,将eigen3.2.5切换到3.4.0,在/usr/local/include打开终端,输入:

sudo mv eigen3 eigen325/include
sudo mv eigen340/eigen3 .

在使用时,切换后不需要再额外指定eigen版本,CMakeLists:

find_package(Eigen3 REQUIRED)
if (EIGEN3_INCLUDE_DIR)
    message(${EIGEN3_INCLUDE_DIR})
    include_directories("${EIGEN3_INCLUDE_DIR}")
endif (EIGEN3_INCLUDE_DIR)

安装多版本的ceres

        我已经安装了ceres2.1.0,现在安装ceres1.14.0。注意:无论是安装还是使用,都需要把eigen版本切换到3.2.5。

        1、下载ceres1.14.0,选择安装地址(随便),然后下载并解压:

wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar -zxvf ceres-solver-1.14.0.tar.gz

        2、进入解压出的ceres-solver-1.14.0文件夹,创建build文件夹

        3、进入/usr/local/include下,创建文件夹ceres_1.14.0

        4、进入在第2步中创建的build文件夹中编译并设置安装路径,将ceres1.14.0安装到第3步创建的ceres_1.14.0文件夹中

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/include/ceres_1.14.0 ..
make -j8
sudo make install

切换ceres版本及使用

        与eigen不同,ceres不需要切换文件,只需要在CMakeList中指定版本即可。

  使用ceres1.14.0时:

        首先确保eigen版本是3.2.5,然后CMakeList中:

# Ceres
set(Ceres_DIR /usr/local/include/ceres_1.14.0/lib/cmake/Ceres)
find_package(Ceres 1.14.0 REQUIRED)
include_directories(${CERES_INCLUDE_DIRS})

  使用ceres2.1.0时:

        eigen版本是3.2.5或者3.4.0都可以,然后CMakeList中

find_package(Ceres REQUIRED)
include_directories(${CERES_INCLUDE_DIRS})

# find_package(Ceres 2.1.0 REQUIRED)也可以

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值