视觉slam第11讲因子图优化程序编译错误 error adding symbols: DSO missing from command line
问题背景
在编译pose_graph_gtsam.cpp时出现故障 /usr/lib/x86_64-linux-gnu/libtbb.so.2:error adding symbols: DSO missing from command line
解决方案:
原因是没有成功链接到这个libtbb库,需要手动在cmakelist.txt中定义连接
set(LIB_OPENCV_IMGPROC_DIR /usr/lib/x86_64-linux-gnu) #LIB_OPENCV_IMGPROC_DIR 是libtbb库的路径,缺哪个库找哪个,问题描述会有路径
add_library(libtbb SHARED IMPORTED) #添加库文件
set_target_properties(libtbb PROPERTIES IMPORTED_LOCATION ${LIB_OPENCV_IMGPROC_DIR}/libtbb.so.2) #对标库文件 这里的LIB_OPENCV_IMGPROC_DIR就是第一行定义的路径
连接完之后在最后一行对使用该库的程序进行动态连接
target_link_libraries( pose_graph_gtsam
${CHOLMOD_LIBRARIES} gtsam libtbb
)
本文仅记录学习过程出现的问题,同时感谢添加链接描述提供的方法!