Ceres安装与卸载以及新旧版本中的问题

Ceres在SLAM优化中常常会用到,简单记录一下关于Ceres的一些问题

1、Ceres安装

1.1、安装依赖项

sudo apt-get install  liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

1.2、下载Ceres

Ceres的下载地址为:

https://github.com/ceres-solver/ceres-solver/tags

在这里插入图片描述在这里选择需要的版本,比如1.14.0,然后会跳出source code的下载选项,下载需要的代码。下载后的代码一般在电脑中的download下,进入该文件夹,找到对应文件,选择extract here解压。然后将解压后的文件夹移动到合适的地方(一般解压完的文件夹会带版本号,可以rename掉)

1.3、编译Ceres

编译过程很简单,进入文件夹后打开终端输入下述指令:

mkdir build
cd build
cmake ..
make -j4
sudo make install

一般没有问题的话就可以正常编译完成了。

1.4、版本查看

ceres的源码文件夹下有一个package.xml文件,其中注明了当前ceres的版本,如图
在这里插入图片描述

2、Ceres卸载

Ceres只有一个库文件在"/usr/local/lib/“中,并且所有的头文件都在”/usr/local/include/ceres/"中,卸载就是很简单的两步:

sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -rf /usr/local/include/ceres /usr/local/lib/libceres.a

3、Ceres使用

在编写使用到Ceres的工程时CMakeLists.txt中应该有

find_package(Ceres REQUIRED)
include_directories(${Ceres_INCLUDE_DIRS})
target_link_libraries(可执行文件名 ${CERES_LIBRARIES})

否则可能会出现一些奇奇怪怪的错误。

4、Ceres版本问题

在一些项目文件中编译是会遇到下述报错:

integer_sequence’ is not a member of ‘std’

这是由于新版本的ceres对C++的版本有要求。根据网上的教程,遇到这个问题时可以修改项目文件中的CMAKEList,将

set(CMAKE_CXX_FLAGS "-std=c++11")

改成

set(CMAKE_CXX_STANDARD 14)
或者
set( CMAKE_CXX_FLAGS "-std=c++14 -O3" )

不过这个没有试过,不知道具体情况。

另外一种简单粗暴的方式就是卸载高版本的安装低版本的,之前安装2.0.0报了这个错误后按照章节2中卸载方式卸载后重新安装1.14.0的可以正常使用。

参考:

https://blog.csdn.net/qq_41265365/article/details/123795075
  • 7
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ceres库是一个开源的C++库,用于解决非线性最小二乘问题。它提供了一套先进的优化算法和工具,可用于求解各种各样的优化问题,比如相机标定、图像配准、立体视觉、SLAM等。 首先,为了开始使用Ceres库,我们需要在计算机上安装它。对于Windows用户,可以从Ceres的官方网站上下载预编译好的二进制文件,并将其添加到系统环境变量。对于Linux或Mac用户,可以通过命令行安装,并使用包管理器(如apt-get或brew)来安装Ceres库。 安装完成后,我们可以在代码包含Ceres库的头文件,并链接相应的库文件,以便在程序使用Ceres的功能。接下来,我们需要定义一个优化问题,并添加待优化的参数、残差函数和约束条件。 在Ceres,我们可以通过定义一个继承自ceres::CostFunction的类来表示残差函数。同时,在优化问题可以使用ceres::Problem类来添加和管理这些残差函数。通过构建、配置和解决这个问题Ceres库可以自动寻找最优的参数值,使得所有残差函数的总和最小。 值得一提的是,在使用Ceres库时,我们需要定义自己的残差函数,并提供优化问题的初始参数。同时,也可以选择合适的优化算法和迭代次数,以及监控优化过程的输出信息。 总之,Ceres库是一个功能强大的开源优化库,使用它可以很方便地解决非线性最小二乘问题。通过正确安装和使用Ceres库,我们可以有效地求解各种优化问题,并获得最佳的优化结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶执念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值