• 在编译ubuntu16.04ros包的时候出现以下问题
  • `/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
    /usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    CMakeFiles/RGBD.dir/build.make:218: recipe for target ‘…/RGBD’ failed
    make[2]: *** […/RGBD] Error 1
    CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/RGBD.dir/all’ failed
    make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
    make[1]: *** 正在等待未完成的任务…
    /usr/bin/ld: CMakeFiles/Stereo.dir/src/ros_stereo.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
    /usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    CMakeFiles/Stereo.dir/build.make:218: recipe for target ‘…/Stereo’ failed
    make[2]: *** […/Stereo] Error 1
    CMakeFiles/Makefile2:104: recipe for target ‘CMakeFiles/Stereo.dir/all’ failed
    make[1]: *** [CMakeFiles/Stereo.dir/all] Error 2
    Makefile:127: recipe for target ‘all’ failed
    make: *** [all] Error 2

`

  • 出错原因为:libboost_system.so 与libboost_filesystem.so找不到链接目录,首先确认你已经安装boost库,如果没有安装,可以利用apt安装一下,然后利用以下方案尝试,基本问题可以得到解决
  • 1.解决方案为(最简单方法,强烈推荐)

```更改cmake加上一行-lboost_system
set(LIBS ${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)

2.如果上面方法不奏效,可以尝试手动添加库
locate boost_system
//查找到目录
/usr/lib/x86_64-linux-gnu/libboost_system.a
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
/usr/local/MATLAB/R2017a/bin/glnxa64/libboost_system.so.1.56.0

locate boost_filesystem
//查找到目录
/usr/lib/x86_64-linux-gnu/libboost_filesystem.a
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
/usr/local/MATLAB/R2017a/bin/glnxa64/libboost_filesystem.so.1.56.0

将libboost_system.so与libboost_filesystem.so复制到ORB_SLAM2/lib下,并且将ORBSLAM2/Examples/ROS/ORBSLAM2下的Cmakelists.txt中加入库目录,具体为
在`set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so`
之后加入`${PROJECT_SOURCE_DIR}/../../../lib/libboost_filesystem.so
${PROJECT_SOURCE_DIR}/../../../lib/libboost_system.so`
问题得以解决

[ 0%] Built target rospack_genmsg_libexe
[ 0%] Built target rosbuild_precompile
[ 11%] Linking CXX executable …/Mono
[ 22%] Linking CXX executable …/RGBD
[ 33%] Linking CXX executable …/Stereo
[ 44%] Linking CXX executable …/MonoAR
[ 55%] Built target Mono
[ 66%] Built target RGBD
[ 77%] Built target Stereo
[100%] Built target MonoAR

``

ubuntu16.04编译ORBSLAM2问题解决相关推荐

  1. Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map详细过程

    我在编译过程中主要参考了以下几篇博客: Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map_Andyoyo007的博客-CSDN博客编译高博ORBSLAM2_wi ...

  2. ubuntu16.04 编译opencv4和opencv_contrib

    ubuntu16.04 编译opencv4和opencv_contrib 下载源码 安装最新的cmake 使用cmake-gui配置cmake文件 make && install 添加 ...

  3. Ubuntu16.04编译RK3399:make kernel.img error

    RK3399开源资料: http://www.t-firefly.com/doc/product/info/id/100.html 1.问题: ubuntu16.04编译内核Kernel出现错误:   ...

  4. Ubuntu16.04编译android6.0.1源码记录

    目录 目录 一.安装环境 二.下载源码 1.下载repo 2.初始化repo 3.同步源代码 关于驱动 三.编译源码 四.导入源码到AS 五.刷入真机 六.修改源码 总结: 3.同步源代码 关于驱动 ...

  5. Ubuntu16.04编译poco库

    Ubuntu16.04编译poco库 概述 下载 编译 解压 编译 完整编译 部分编译 编译 安装 参考文章 概述 Poco C++库是一系列C++类库,类似Java类库,.Net框架,Apple的C ...

  6. linux ubuntu16.04 编译opencv教程(没编过,有时间再弄,推流不用opencv也行的)

    文章目录 下源码 编译 配置opencv环境 下源码 https://github.com/opencv/opencv/releases/tag/4.4.0 然后在ubuntu里建个文件夹把它扔进去, ...

  7. 16.04编译android 7.0,ubuntu16.04 编译Android5.1报错

    hi kylin team, 我使用 ubuntu16.04 构建 android 编译环境后编译 android5.1 时出现如下报错.请向开发团队反馈看能否给出解决方案,谢谢! 当我使用 ubun ...

  8. ubuntu16.04编译android6_r1源码绕坑贴

    1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟 ...

  9. Ubuntu16.04编译Android 6.0系统源码过程简要记录总结

    一,安装VMware Workstation,百度网盘下载(内含注册机) 链接: https://pan.baidu.com/s/1wz4hdNQBikTvyUMNokSVYg 提取码: yed7 V ...

最新文章

  1. 在温暖的南方惠州①月了。。
  2. How To Do @Async in Spring--转
  3. r graphics installing package
  4. (转)百度文库浏览器分析及实现(续)
  5. 每日英语:Why Sit Up Straight?
  6. Linux wc命令用于计算字数。
  7. Onvif之设备发现-基于gsoap2.8.27
  8. 银行卡扫描(基于swift)
  9. 会话控制_2-5 编程练习
  10. Matplotlib 入门(详看注释)
  11. 基于visual c++之windows核心编程代码分析(35)实践NT服务的框架
  12. 浅议一种低成本的48V蓄电池组电压电流采集模块
  13. 计算机类毕业论文中期检查,计算机类毕业论文中期检查表
  14. CSS动画-Animation
  15. 印刷厂ERP系统源码
  16. 去掉鼠标右键文件时的“百度一下这个文件”菜单命令
  17. modbus的使用说明——个人使用心得
  18. 优麒麟这款工具,助你提高60%的工作效率
  19. 荣耀80Pro直屏版和荣耀80Pro区别?
  20. 中国荫罩对准器市场深度研究分析报告

热门文章

  1. YOLOv6:又快又准的目标检测框架开源啦
  2. 计算机基础学习-什么是并行传输、串行传输、异步传输?
  3. 希尔顿欢朋中国第200家酒店在杭州开业;玲娜贝儿在上海迪士尼全球首发亮相 | 全球旅报...
  4. Silverlight学习之调用bing搜索引擎进行网络搜索
  5. Error converting data type...
  6. 协同演化博弈模型matlab,求教 matlab做演化博弈
  7. Python数据分析 找出数组中每行(或每列)中指定的百分位数 numpy.percentile()
  8. 三、SpringSecurity 动态权限访问控制
  9. 计算机信息系统打印输出的涉密文件,计算机信息系统打印输出的涉密文件,应当按相应的()文件进行管理。...
  10. 项目开发相关(附 Git 使用)