视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake” in CMAKE_MODULE_PATH错误

在学习slam十四讲的时候,成功安装编译了g2o,但是在运行g2o_curve_fitting代码时出现错误,提示如下:

在这里插入图片描述

方法一:
这时需要在cmakelist文件中添加几行代码,添加代码如下:

  list(APPEND CMAKE_MODULE_PATH  /XXX/g2o/cmake_modules)
  set(G2O_ROOT /XXX/g2o)
  find_package( G2O REQUIRED )
  include_directories(
        ${G2O_INCLUDE_DIRS}
        "/usr/include/eigen3" )

/XXX/g2o 是你的g2o安装目录,如果不知道自己的安装录取,可以在lunix主文件夹中搜索g2o,找到后,右键属性,即可看到父文件夹,那就是安装目录了。
在这里插入图片描述
改完之后内容为

list(APPEND CMAKE_MODULE_PATH  /home/linzhiwei/g2o/cmake_modules)
set(G2O_ROOT  /home/linzhiwei/g2o)
find_package(G2O REQUIRED)
include_directories(${G2O_INCLUDE_DIRS}
        "/usr/include/eigen3" )

方法二:
检查一下你的${PROJECT_SOURCE_DIR}目录下面(就时你build文件夹所在目录)是否含有cmake_modules文件夹,没有的话,添加进来,(在CMAKELIsts.txt中,当屏幕输入: list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR} 后会自动显示出当面目录下有没有cmake_modules文件夹),此文件夹下只有一个FindG2O.cmake文件,添加cmake_modules文件夹主要是为了添加进来FindG2O.cmake这个文件。

**

注意:

**在使用自带的cmake_modules文件夹时,使用 find_package( G2O )命令即可,不使用 find_package( G2O REQUIRED )命令,否则会报错。

CMAKELIsts.txt:

list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules )

# 寻找G2O
find_package( G2O )
include_directories(
    ${G2O_INCLUDE_DIRS}
    "/usr/include/eigen3"
)

# OpenCV
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_DIRS} )

add_executable( curve_fitting main.cpp )
# 与G2O和OpenCV链接
target_link_libraries( curve_fitting
    ${OpenCV_LIBS}
    g2o_core g2o_stuff
)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值