g2o库的一些坑(undefined reference to, fatal error: cs.h)

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)

猜你喜欢

转载自blog.csdn.net/level_code/article/details/124165459#comments_27672197
今日推荐