Solve CMake Error in CMakeLists.txt (FIND_PAKAGE):

CMake Error at src/CMakeLists.txt:5 (FIND_PACKAGE):
By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "PCL", but
CMake did not find one. Could not find a package configuration file provided by "PCL" with any of
the following names: PCLConfig.cmake
pcl-config.cmake Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
to a directory containing one of the above files. If "PCL" provides a
separate development package or SDK, be sure it has been installed. -- Configuring incomplete, errors occurred!
  • To help cmake find PCLConfig.cmake adding this line if you have installed ROS Kinetic:

set(PCL_DIR "/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake")

before find_package(PCL 1.3 REQUIRED COMPONENTS common io)

Or run loacate PCLConfig.cmake.


Solve Complile Erorr

.../rgbd-slam-tutorial-gx-master/part IV/src/slamBase.cpp: In function ‘void computeKeyPointsAndDesp(FRAME&, std::__cxx11::string, std::__cxx11::string)’:
.../rgbd-slam-tutorial-gx-master/part IV/src/slamBase.cpp:63:17: error: ‘create’ is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’
_detector = cv::FeatureDetector::create( detector.c_str() );
^
.../rgbd-slam-tutorial-gx-master/part IV/src/slamBase.cpp:64:19: error: ‘create’ is not a member of ‘cv::DescriptorExtractor {aka cv::Feature2D}’
_descriptor = cv::DescriptorExtractor::create( descriptor.c_str() );

Bug fixed: When adding another visualization of pcl::visualization::CloudViewer.

[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
visualOdometry: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
Aborted (core dumped)

We can see Note in The CloudViewer of pcl documents

The CloudViewer class is NOT meant to be used in multi-threaded applications! Please check the documentation on :pcl:PCLVisualizer<pcl::visualization::PCLVisualizer> or read the PCLVisualizer tutorial for thread safe visualization.

The Viewer window does not be shutdown in visualOdometry.cpp.

To fix this bug: Add two line between } and pcl::io::savePCDFile(...).


References:

PCL Documents: Using PCL in your own project

[Study notes] To programing RGBD-SLAM together from Gaoxiang的更多相关文章

  1. (1)RGB-D SLAM系列- 工具篇(硬件+关键技术)

    /*************************************************************************************************** ...

  2. Machine Learning Algorithms Study Notes(3)--Learning Theory

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  3. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  4. Machine Learning Algorithms Study Notes(1)--Introduction

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1    Introduction    1 1.1    ...

  5. 一起做RGB-D SLAM 第二季 (一)

    小萝卜:师兄!过年啦!是不是很无聊啊!普通人的生活就是赚钱花钱,实在是很没意思啊! 师兄:是啊…… 小萝卜:他们都不懂搞科研和码代码的乐趣呀! 师兄:可不是嘛…… 小萝卜:所以今年过年,我们再做一个S ...

  6. 一起做RGB-D SLAM (1)

    前言 2016.11 更新 增加了对16.04的支持. 整理了过时的代码. SLAM,即Simultaneous Localization and Mapping,中文译作同时定位与地图创建,是近几十 ...

  7. 一起做RGB-D SLAM(7) (完结篇)

    第七讲 添加回环检测 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. 回环检测的阈值作出了相应的调整. 请以现在的github上源码为准. 简 ...

  8. 一起做RGB-D SLAM (5)

    第五讲 Visual Odometry (视觉里程计) 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. 去掉了cv::cv2Eigen函数,因 ...

  9. 一起做RGB-D SLAM (3)

    第三讲 特征提取与配准 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. OpenCV可以使用 apt-get install libopenc ...

随机推荐

  1. jenkins 参数化构建和增加环境变量

    1.参数化构建 2.增加环境变量 prepare an environment for the run,需要安装Environment Injector插件

  2. Python numpy函数:reshape()

    reshape()函数用于改变数组对象的形状: import numpy as np a = np.array([1,2,3,4,5,6,7,8]) #转换成2D数组 b = a.reshape((2 ...

  3. Spring Boot 集成RabbitMQ

    在Spring Boot中整合RabbitMQ是非常容易的,通过在Spring Boot应用中整合RabbitMQ,实现一个简单的发送.接收消息的例子. 首先需要启动RabbitMQ服务,并且add一 ...

  4. ORACLE增加用户

    create user 账号 identified by "密码"; grant connect to 账号; grant resource to 账号; --把dba 权限给in ...

  5. Java中实现MongoDB自增主键ID

    1.了解MongoDB的ObjectId        MongoDB的文档固定是使用“_id”作为主键的,它可以是任何类型的,默认是个ObjectId对象(在Java中则表现为字符串),那么为什么M ...

  6. Java程序开发中的简单内存分析

    首先说明内存总体分为了4个部分, 包括 1.stack segment (栈区存储基本数据类型的局部变量,对象的引用名) 2.heap segment(堆区,一般用于存储java中new 出来的对象) ...

  7. [置顶] linux getline()函数

    getline()函数是什么?百度百科这样解释:      getline不是C库函数,而是C++库函数.它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束.1) ...

  8. redmine2.3环境搭建

    1. 安装redmine bitnami-redmine-2.3.0-0-windows-installer.exe安装到C:\BitNami\redmine-2.3.0-0目录下. 其中redmin ...

  9. paramiko连接方式

    链接方法: 方式一: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh. ...

  10. 12-22C#公共控件(基本功能)

    在C#窗体中,公共控件的基本功能: 1.获取.设置控件的参数值: 2.事件(其实是一种特殊的方法和属性,当被其他外力触发它,就会发生,类似数据库的触发器.) 下面是基本的公共控件: 1.复选框 1)设 ...