BAD-SLAM配置环境报错:g2o::core无法链接

BAD-SLAM配置环境报错:g2o::core无法链接

错误现象:
CMake Error at applications/badslam/CMakeLists.txt:158 (add_executable):
Target “badslam” links to target “g2o::core” but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?

CMake Error at applications/badslam/CMakeLists.txt:158 (add_executable):
Target “badslam” links to target “g2o::types_slam3d” but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?

CMake Error at applications/badslam/CMakeLists.txt:158 (add_executable):
Target “badslam” links to target “g2o::solver_csparse” but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?

CMake Error at applications/badslam/CMakeLists.txt:158 (add_executable):
Target “badslam” links to target “g2o::csparse_extension” but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?

CMake Error at applications/badslam/CMakeLists.txt:158 (add_executable):
Target “badslam” links to target “g2o::stuff” but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
解决办法:
根据错误提示,找到文件夹applications/badslam/目录下的CMakeLists.txt文件,打开文件。
由于g2o相关类别的错误(g2o:: …),于是可判断极有可能是库链接的问题,导致报错,更改该文件中的如下代码,便可解决问题:
将如下代码进行更改,

  target_link_libraries(badslam_baselib
    PRIVATE
      opengv
      g2o::core
      g2o::types_slam3d
      g2o::solver_csparse
      g2o::csparse_extension
      ${SuiteSparse_LIBRARIES}
      g2o::stuff
      ${OpenCV_LIBS}
      ${DLib_LIBS}
      DBoW2
      ${realsense2_LIBRARY}
      ${OPENGL_LIBRARY}
      ${GLEW_LIBRARIES}
      ${X11_LIBRARIES}
      ${Boost_LIBRARIES}
    PUBLIC
      libvis
      libvis_cuda
  )

更改为:

  target_link_libraries(badslam_baselib
    PRIVATE
      opengv
      /home/bruce/software/g2o/lib/libg2o_core.so
      /home/bruce/software/g2o/lib/libg2o_types_slam3d.so
      /home/bruce/software/g2o/lib/libg2o_solver_csparse.so
      /home/bruce/software/g2o/libg2o_csparse_extension.so
      ${SuiteSparse_LIBRARIES}
      /home/bruce/software/g2o/lib/libg2o_stuff.so
      ${OpenCV_LIBS}
      ${DLib_LIBS}
      DBoW2
      ${realsense2_LIBRARY}
      ${OPENGL_LIBRARY}
      ${GLEW_LIBRARIES}
      ${X11_LIBRARIES}
      ${Boost_LIBRARIES}
    PUBLIC
      libvis
      libvis_cuda
  )

或者:

  target_link_libraries(badslam_baselib
    PRIVATE
      opengv
      /usr/local/lib/libg2o_core.so
      /usr/local/lib/libg2o_types_slam3d.so
      /usr/local/lib/libg2o_solver_csparse.so
      /usr/local/lib/libg2o_csparse_extension.so
      ${SuiteSparse_LIBRARIES}
      /usr/local/lib/libg2o_stuff.so
      ${OpenCV_LIBS}
      ${DLib_LIBS}
      DBoW2
      ${realsense2_LIBRARY}
      ${OPENGL_LIBRARY}
      ${GLEW_LIBRARIES}
      ${X11_LIBRARIES}
      ${Boost_LIBRARIES}
    PUBLIC
      libvis
      libvis_cuda
  )

与cmake编译所设置的路径一致即可,根据自己的路径配置而定。
这样便可以解决报错现象!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值