Ubuntu16.04,ROS kinectic

报错信息为“

make[2]: *** No rule to make target '/home/william/slam/g2o/lib/libg2o_csparse_extension.so', needed by '/home/william/catkin_ws/devel/lib/rgbdslam/rgbdslam'. Stop.
CMakeFiles/Makefile2:5881: recipe for target 'rgbdslam_v2/CMakeFiles/rgbdslam.dir/all' failed
make[1]: *** [rgbdslam_v2/CMakeFiles/rgbdslam.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

报错原因如下:

1. 先是按照https://github.com/felixendres/rgbdslam_v2上的README.md来安装

2. 出现G2O引起的bug,在编译安装g2o时通过,却在编译rgbdslam中报错,依照https://hubpages.com/technology/Instructions-for-compiling-rgbdslam-v2-on-a-fresh-Ubuntu-1604-install-ros-kinetic-in-virtualbox中的6,解决了

缺少依赖,执行sudo apt-get install libsuitesparse-dev(装依赖后再装G2O会好一点),在报错之后安装依赖,如果不行,就装完依赖后再安装g2o

我觉得本次主要讲的大bug就是从这里引起的

3. 遇到https://blog.csdn.net/zhuoyueljl/article/details/78536996?reload中,“required process[rgbdslam-2] has died”......Iinitiating down”问题,解决后,编译出现needed by错误

解决方法为:

工作空间(也有可能是编译G2O时才会出现)的cmake_modules中(位于SRC)有个FindG2O.cmake的文件,将其移除掉就可以了,因为用3的方法,make install了G2O,因此不需要cmake_modules来找G2O的包

PS:

学到的几个小技巧

1 使用grep搜索文件中的文本信息,语法是

grep -rw PATTERN [file]

2. 在CMakeLists.txt中,设置找包的路径:

set(G2O ‘包的绝对路径’)

反思总结:

1. 同样是对编译错误进行查找,在报错信息提示找不到这个 ibg2o_csparse_extension.so 文件时,我倾向于使用grep去搜索,rgbdsla包中哪行代码对这个文件进行查找,但是结果明显是找不到的。这是对整个编译架构的不理解

2. 不过,在没有其他经验的前提下,做点什么总是比什么都不做来得好。

转载于:https://www.cnblogs.com/williamc17/p/9245131.html

rgbdslam_v2编译过程中引起的needed by错误相关推荐

  1. Ubuntu aosp 编译过程中Jack server SSL error 错误解决方法

    编译aosp 大概率会出现jack server 跑不起来然后抛一个类似这样的错误 [ 10% 538/4980] Ensuring Jack server is installed and star ...

  2. open ssl android编译,aosp 编译过程中Jack server SSL error 错误解决方法

    编译aosp 大概率会出现jack server 跑不起来然后抛一个类似这样的错误[ 10% 538/4980] Ensuring Jack server is installed and start ...

  3. Qt编译过程中出现的问题

    1.解压源码zip包的时候,要使用参数-a,否则编译会有问题. 2.编译过程中出现错误:QT /usr/include/X11/extensions/XIproto.h:1825: 错误:expect ...

  4. vc2005编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决

    vc2005编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决 收藏 快毕业了,为了工作的需要,需要使用庞大的VS2 ...

  5. 编译过程中,termcap.h 文件找不到路径 licli.a终于生成

    编译过程中,termcap.h      文件找不到路径   查看是linux  源码下找不到termcap.h文件 安装了所有关于*cap*的源码包也不起作用 今天终于解决了这个问题,搜termca ...

  6. 在以阶段划分的编译过程中,判断程序语句的形式是否正确属于()阶段的工作。

    在以阶段划分的编译过程中,判断程序语句的形式是否正确属于()阶段的工作. A.词法分析 B.语法分析 C.语义分析 D.代码生成 答案:B 答案解析: 选项A这个阶段的任务是对源程序从前到后(从左到右 ...

  7. 编译html成qch,在应用程序编译过程中运行qcollectiongenerator

    我一直在研究一个名为RoboJournal的程序很长一段时间.下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时,帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以 ...

  8. C++编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决...

    今天本人用vs2005 sp1中文版,学习C++程序的过程中,在执行MFC程序时,在编译过程中出现如下问题: 相关问题:这里编译时可能出现以下问题 /************************* ...

  9. 实验检测编译过程中的链接作用

    /* 名称:实验检测编译过程中的链接作用 说明:以前一直不太了解编译过程中链接是到底干嘛的(其具体的作用是什么),只浅浅的了解到这个阶段就是将各个目标文件连接在一起,至于为什么要连接,怎么连接,不是很 ...

最新文章

  1. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )
  2. Matplotlib图例中文乱码
  3. Windows Azure Storage (10) Windows Azure 上的托管服务CDN (下) Hosted Service
  4. leetcode面试题 16.19. 水域大小(深度优先搜索)
  5. P3156 【深基15.例1】询问学号(20分)--python3实现
  6. 等了一年终于要来了 电影《八佰》定档8月21日全国上映
  7. 线性代数知识点总结_[Github项目推荐] 机器学习amp; Python 知识点速查表
  8. BlackBone工具集合:注入、hook、驱动程序
  9. python开启一个简单的服务器
  10. Java能用来做什么的?
  11. VC++公安指纹识别系统
  12. C++ Const 初步总结(《C++程序设计语言》读后感)
  13. 设计模式六大原则——单一职责原则(SRP)
  14. 【方法】如何快速高效学习
  15. IDEA离线安装Oracle数据库驱动包
  16. suptitle()--matplotlib
  17. 简易英文问答系统(glove.6B词向量)
  18. FPGA学习日志——一位全加器full_adder
  19. 关于echarts数据二次渲染不成功
  20. SSM 农产品销售管理系统

热门文章

  1. python引入redis_实操演练解读非关系型数据库—Redis
  2. Servlet→对象监听器、事件监听器、Session钝化活化、@WebListener标注、过滤器概念原理生命周期、过滤器链、@WebFilter标注、定时器Timer、cancel()、purge
  3. Python入门--with语句
  4. different intergers
  5. 高效点的全排列算法---堆算法(跟堆排序没关系)
  6. 腾讯校园招聘笔试 2019-8-17 第三题
  7. Qt 多界面来回切换的问题以及Qt界面关闭与销毁
  8. VK Cup 2018 Round 1: A. Primal Sport
  9. [高光谱] Hyperspectral-Classification Pytorch 数据集的读取、划分、加载
  10. jquery事件绑定和解除绑定bind、unbind、one