g2o库是一个图优化库,在slam中多有应用。
下面是踩过的一些坑,供小伙伴们参考
第一坑
/usr/local/include/g2o/solvers/csparse/csparse_extension.h:27:10: fatal error: cs.h: 没有那个文件或目录
27 | #include <cs.h>
| ^~~~~~
是这样解决的
首先再次安装了一次csparse库,已经安装过的会提示已安装
sudo apt-get install libsuitesparse-dev
然后找suitesparse在哪
locate suitesparse
结果会显示一些/usr/include/suitesparse/下的.h文件, 其中就有cs.h
把这个路径放到CMakeLists.txt中
include_directories("/usr/include/suitesparse/")
第二坑,undefined reference to `g2o XXX
很多g2o的函数找不到。
在CMakeLists.txt中添加如下即可。
target_link_libraries(XXX g2o_core g2o_types_slam3d g2o_solver_csparse g2o_stuff g2o_csparse_extension)

本文分享了使用G2O库在SLAM中的实践遇到的两个主要问题:缺失的cs.h文件及链接错误。首先介绍了如何重新安装并配置csparse库,然后详细说明了在CMakeLists.txt中添加相关依赖以解决函数引用问题。
最低0.47元/天 解锁文章
1993

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



