ZED2 运行 orb-slam2 & orb-slam3

1. orb-slam2 用的 https://github.com/appliedAI-Initiative/orb_slam_2_ros

运行roslaunch orb_slam2_ros orb_slam2_zed2_stereo.launch报错:

undefined symbol: _ZN5DBoW24FORB1LE

解决办法:

这是因为在其它地方安装过DBoW2,找错位置是因为有同名的文件,那把它改的不是同名就行:

(1) 在 /home/sqw/ROS_WS/orbslam2_ws/src/orbslam2/orb_slam2/Thirdparty/DBoW2/CMakeLists.txt 下:

add_library(DBoW2SHARED ${SRCS_DBOW2} ${SRCS_DUTILS})
target_link_libraries(DBoW2 ${OpenCV_LIBS})

改为:

add_library(DBoW2_1 SHARED ${SRCS_DBOW2} ${SRCS_DUTILS})
target_link_libraries(DBoW2_1 ${OpenCV_LIBS})

(2) 在 /home/sqw/ROS_WS/orbslam2_ws/src/orbslam2/CMakeLists.txt 下:

${PROJECT_SOURCE_DIR}/orb_slam2/Thirdparty/DBoW2/lib/libDBoW2.so

catkin_package (
  CATKIN_DEPENDS roscpp rospy std_msgs cv_bridge image_transport tf sensor_msgs dynamic_reconfigure message_runtime
  LIBRARIES {PROJECT_NAME} libDBoW2 libg2o
)

install(TARGETS ${PROJECT_NAME} DBoW2 g2o

这几个地方的DBoW2 都改为DBoW2_1。

2.  解决orb-slam执行中,提示undefined symbol: _ZN5DBoW24FORB1LE问题_dna葡萄糖的博客-CSDN博客

 这个解决方案还有点没搞明白


版权声明:本文为weixin_44385365原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。