关于RGBDSLAMV2学习、安装、调试过程

Step1:https://github.com/felixendres/rgbdslam_v2/wiki/Instructions-for-Compiling-Rgbdslam-(V2)-on-a-Fresh-Ubuntu-16.04-Install-(Ros-Kinetic)-in-Virtualbox

照着这个instructions安装好 rgbdslamv2,并且在安装的过程中,后续要用的依赖也已经安装好了

Step2:https://www.twblogs.net/a/5c542fdcbd9eee06ee218f6c/zh-cn

照着高翔的指导一步一步的学习,存在的大部分问题在上面的博客中可以解决

备注:

关于g20部分,代码提示c++11不兼容等诸多问题,在src目录下添加支持c++11即可

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()if(COMMAND cmake_policy)cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

step3:关于g2o_viewer提示core dump段错误问题

这是因为编译时qt4  qt5不兼容问题,解决办法,(qt5 版本)

  • 1 sudo apt-get install libqglviewer-dev
  • 2 qmake -v 检查是不是qt5
  • 3 找到g2o源码目录的cmake_module目录,打开FindQGViewer.cmake
  • 4 把前几行关于qt4的部分注释掉添加
    # Need to find both Qt{4,5} and QGLViewer if the QQL support is to be built
    #FIND_PACKAGE(Qt4 COMPONENTS QtCore QtXml QtOpenGL QtGui)
    #IF(NOT Qt4_FOUND)
    #    FIND_PACKAGE(Qt5 QUIET COMPONENTS Core Xml OpenGL Gui Widgets)
    #    IF(NOT Qt4_FOUND AND NOT Qt5_FOUND)
    #        MESSAGE("Qt{4,5} not found. Install it and set Qt{4,5}_DIR accordingly")
    #        IF (WIN32)
    #            MESSAGE("  In Windows, Qt5_DIR should be something like C:/Qt/5.4/msvc2013_64_opengl/lib/cmake/Qt5")
    #        ENDIF()
    #    ENDIF()
    #ENDIF()
    FIND_PACKAGE(Qt5 COMPONENTS Core Xml OpenGL Gui Widgets)
    IF(NOT Qt5_FOUND)MESSAGE("Qt5 not found. Install it and set Qt5_DIR accordingly")IF (WIN32)MESSAGE("  In Windows, Qt5_DIR should be something like C:/Qt/5.4/msvc2013_64_opengl/lib/cmake/Qt5")ENDIF()
    ENDIF()

    关于find_library(QGLVIEWER_LIBRARY_RELEASE  和 find_library(QGLVIEWER_LIBRARY_DEBUG的部分 改成一下内容

    find_library(QGLVIEWER_LIBRARY_RELEASE#NAMES qglviewer-qt4 qglviewer QGLViewer QGLViewer2#NAMES qglviewer-qt5  QGLViewer-qt5#NAMES qglviewer-qt4 QGLViewer-qt4 qglviewer QGLViewer QGLViewer2NAMES qglviewer QGLViewerPATHS /usr/lib/usr/local/lib/opt/local/lib/usr/lib/x86_64-linux-gnu/sw/libENV QGLVIEWERROOTENV LD_LIBRARY_PATHENV LIBRARY_PATHPATH_SUFFIXES QGLViewer QGLViewer/release
    )
    find_library(QGLVIEWER_LIBRARY_DEBUG#NAMES dqglviewer dQGLViewer dQGLViewer2 QGLViewerd2NAMES dqglviewer dQGLViewer dQGLViewer QGLViewerd2PATHS /usr/lib/usr/local/lib/opt/local/lib/usr/lib/x86_64-linux-gnu/sw/libENV QGLVIEWERROOTENV LD_LIBRARY_PATHENV LIBRARY_PATH#PATH_SUFFIXES QGLViewer QGLViewer/releasePATH_SUFFIXES QGLViewer QGLViewer/debug
    )

     

  • 5 返回g2o/build ,执行
    cmake ..
    make -j4
    make install

     

  • 6 运行g2o_viewer 便成功了

 

工作环境:ubuntu16.04

转载于:https://www.cnblogs.com/Carlsblog/p/11077414.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java—List的用法与实例详解

List特点和常用方法 List是有序、可重复的容器。 有序指的是:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。 可重复指的是:List允许加入重复的元素。更确切地讲…

Java—遍历集合的N种方式总结Collections工具类

遍历集合的N种方式总结 【示例1】遍历List方法1&#xff0c;使用普通for循环 for(int i0;i<list.size();i){ //list为集合的对象名 String temp (String)list.get(i); System.out.println(temp); } 【示例2】遍历List方法2&#xff0c;使用增强for循环(使用泛型定义…

java类的结构2: 方法—(12)

面向对象的特征一&#xff1a;封装与隐藏 1.为什么要引入封装性&#xff1f; 我们程序设计追求“高内聚&#xff0c;低耦合”。 高内聚 &#xff1a;类的内部数据操作细节自己完成&#xff0c;不允许外部干涉&#xff1b; 低耦合 &#xff1a;仅对外暴露少量的方法用于使用。…

Docker 环境下部署 redash

环境&#xff1a; centos7 官网&#xff1a;https://redash.io/help/open-source/dev-guide/docker 一、安装步骤 1、虚拟机安装 安装vmware&#xff0c;并安装centos7 2、安装docker docker安装手册 3、安装nodejs centos下安装Nodejs 4、redash安装 1)、clone git repostory …

List接口常用实现类的特点和底层实现

List接口常用的实现类有3个&#xff1a;ArrayList、LinkedList、Vector。 那么它们的特点和底层实现有哪些呢&#xff1f; ArrayList特点和底层实现 ArrayList底层是用数组实现的存储。 特点&#xff1a;查询效率高&#xff0c;增删效率低&#xff0c;线程不安全。我们一般使用…

java面向对象的特征 —(13)

面向对象的特征一&#xff1a;封装与隐藏 1.为什么要引入封装性&#xff1f; 我们程序设计追求“高内聚&#xff0c;低耦合”。 高内聚 &#xff1a;类的内部数据操作细节自己完成&#xff0c;不允许外部干涉&#xff1b; 低耦合 &#xff1a;仅对外暴露少量的方法用于使用。…

null指针

做了一个关于花卉花木的管理操作&#xff0c;后期因为花卉的类型需要显示在花卉详情页面&#xff0c;所以需要两张表连接。在不写sql语句的前提下&#xff0c;用了外键连接。因为在先前的操作过程中&#xff0c;没有将外键所在字段设置为必填项&#xff0c;导致有一个外键字段为…

jquery Ajax请求本地json

1-1-1 json文件内容(item.json) [{"name":"张国立","sex":"男","email":"zhangguoli123.com","url":"./img/1.jpg"},{"name":"张铁林","sex":"男"…

论文《learning to link with wikipedia》

learning to link with wikipedia 一、本文目标&#xff1a; 如何自动识别非结构化文本中提到的主题&#xff0c;并将其链接到适当的Wikipedia文章中进行解释。 二、主要借鉴论文&#xff1a; Mihalcea and Csomai----Wikify!: linking documents to encyclopedic knowledge 第…

java类的结构:构造器 —(13)

1.构造器&#xff08;或构造方法&#xff09;&#xff1a;Constructor 构造器的作用&#xff1a; 1.创建对象2.初始化对象的信息 2.使用说明&#xff1a; 1.如果没显式的定义类的构造器的话&#xff0c;则系统默认提供一个空参的构造器2.定义构造器的格式&#xff1a;权限修…

java面向对象的特征二:继承性 —(14)

1.为什么要有类的继承性&#xff1f;(继承性的好处&#xff09; ① 减少了代码的冗余&#xff0c;提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用&#xff0c;提供了前提 图示&#xff1a; 2.继承性的格式&#xff1a; class A extends B{} A:子类、派生类、s…

vuejs怎么在服务器上发布部署

首先VUE 是一个javascript的前端框架&#xff0c;注定了它是运行在浏览器里的&#xff0c;对服务器本地没有任何要求&#xff0c;只要一个静态文件服务器能通过http访问到其资源文件就足矣&#xff01;无论你是用apache ,ngnix 就算你要用node 自己实现一个静态文件服务器&…

C#入门详解(14)

接口&#xff0c;依赖反转&#xff0c;单元测试 接口是协约是规定&#xff0c;所以必须是公开的&#xff0c;只能是public; static void Main(string[] args){int[] num1 new int[] { 1, 2, 3, 4, 5 };Console.WriteLine(Sum(num1).ToString());Console.WriteLine(""…

SpringBoot操作MongoDB实现增删改查

本篇博客主讲如何使用SpringBoot操作MongoDB。 SpringBoot操作MongoDB实现增删改查 &#xff08;1&#xff09;pom.xml引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifac…

java面向对象的特征三:多态性 —(15)

1.多态性的理解&#xff1a;可以理解为一个事物的多种形态。 2.何为多态性&#xff1a; 对象的多态性&#xff1a;父类的引用指向子类的对象&#xff08;或子类的对象赋给父类的引用&#xff09; 举例&#xff1a; Person p new Man(); Object obj new Date(); 3.多态性的…

vue 中$index $key 已移除

之前可以这样: 123456<ulid"example"><liv-for"item in items">{{$index}}{{$key}}</li></ul>现在已经移除,如果还用的话就会报错:Uncaught ReferenceError: $index is not defined; 现在这样写: 123456<ul id"example&qu…

vue-resource全攻略

Vue.js——vue-resource全攻略 概述 上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用&#xff0c;并实现了一个简单的跨域CURD示例。Vue.js是数据驱动的&#xff0c;这使得我们并不需要直接操作DOM&#xff0c;如果我们不需要使用jQuery的DOM选择器&#xff0c;就没有必要…

java面向对象:关键字 —(16)

static:静态的 1.可以用来修饰的结构&#xff1a;主要用来修饰类的内部结构 属性、方法、代码块、内部类 2.static修饰属性&#xff1a;静态变量&#xff08;或类变量&#xff09; 2.1 属性&#xff0c;是否使用static修饰&#xff0c;又分为&#xff1a;静态属性 vs 非静态…

《少年先疯队》第九次团队作业:Beta冲刺与团队项目验收

博文简要信息表&#xff1a; 项目内容软件工程https://www.cnblogs.com/nwnu-daizh/本次实验链接地址https://www.cnblogs.com/nwnu-daizh/p/11056511.html团队名称少年先疯队作业学习目标&#xff08;1&#xff09;掌握软件黑盒测试技术&#xff1b;&#xff08;2&#xff09;…

vue-resource jsonp跨域问题解决方法

最近在学习vue.js 碰到个ajax跨域请求的问题&#xff0c;之前知道可以用jsonp解决&#xff0c;但是一直没实践过&#xff0c;这次用发现里面好多问题&#xff0c;所以现在记录下来&#xff0c;希望可以给刚接触使用jsonp的同学一点帮助&#xff01; 关于什么是jsonp&#xff0c…