ubuntu24.04编译ceres slover 2.1版本的bug

因ubuntu24.04系统,用apt install libceres-dev,安装的ceres是2.2版本,而2.2版本的ceres::LocalParameterization被取代了,要跑vins,但不想改代码,可以编译安装ceres2.1的版本。下载源码,编译出现以下错误:

CMake Error at internal/ceres/CMakeLists.txt:329 (target_link_libraries):
  Target "ceres" links to:

    CXSparse::CXSparse

通过排查,终于找到解决的办法了,修改internal/ceres/CMakeLists.txt文件的125行,将

CXSparse::CXSparse
修改为:
SuiteSparse::CXSparse

就解决了。

因为,ubuntu24.04使用的是libcxsparse4,而CXSparse的cmake文件,已经将CXSparse::CXSparse变量改成SuiteSparse::CXSparse,但ceres 2.1的cmake还停留对libcxsparse3的使用,所以才有这bug。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值