因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。
7838

被折叠的 条评论
为什么被折叠?



