ROS初学笔记 - C++11与PCL库冲突问题
作者: zhch_pan
原文链接:https://www.cnblogs.com/zhchp-blog/p/7249487.html/
出处: 博客园
转载说明:如有侵权,请联系我删除,谢谢!
ROS版本为indigo,PCL库版本 1.7,gcc版本是5.4.0(gcc只有4.7及以上的版本才支持c++11的编译格式)
如果代码里有c++11格式的语句,比如:
for (auto p:cloud.points)
{// 将点云里的点插入到octomap中tree.updateNode( octomap::point3d(p.x, p.y, p.z), true );
}
则在编译的时候,应在CMakeLists.txt中加入
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- 经过测试,非ROS工作空间中,使用cmake … / make 方式编译,编译格式是否为c++11与pcl并没有冲突,但是如果在ROS工作空间中,用catkin_make编译时,如果编译格式设置为c++11,则有些用到pcl的时候会出现报错:
段错误(核心已转储) segmentation fault (core dumped)
例如我遇到的一个情况:
在一个ROS-package中,因为要对点云进行滤波操作(Removing outliers using a Conditional or RadiusOutlier removal),新建remove_outliers.cpp,其中包含头文件
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/filters/conditional_removal.h>
同时我的CMakeLists.txt中之前设置了编译格式为支持c++11(
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
),
使用catkin_make编译通过后,一旦rosrun该节点,直接出现“段错误(核心已转储)”,去掉这俩头文件,便可以正常运行节点,但是也无法做滤波了。
解决方案:
同一个workspace下,创建一个新的功能包,单独编译该滤波node.
同时 新建pkg 的CMakeLists.txt保留默认格式(不使用C++11)
ROS初学笔记 - C++11与PCL库冲突问题相关推荐
- 【ROS学习笔记】11.服务数据(srv)的定义与使用
基于B站ROS公开课:[古月居]古月·ROS入门21讲 基于Ubuntu 20.04.1.Noetic版本 修正错误,并详述Python版本部署 文章目录 1 模型图 2 创建功能包 3 自定义服务数 ...
- [转载] PCL库相关资源的查找和使用Tip
前言 学习PCL库的两个月左右时间里,从刚开始的无从下手到慢慢地摸清一些门道,走了很多弯路,也遇到过很多困惑,逐渐有了一些如何查找与利用PCL库学习资源的心得.所以把这些心得记录下来,一是为了给自己以 ...
- ROS下使用PCL库教程
ros下使用PCL教程 ROS下使用PCL步骤 1. 创建工作空间 2. 创建ROS包 3. 创建代码ROS代码框架 4. 配置CMakeLists.txt文件 5. 从PCL教程中下载pcl处理代码 ...
- ROS笔记(11) Qt工具箱
ROS笔记(11) Qt工具箱 1. 简介 2. 日志输出 3. 计算图可视化 4. 数据绘图 5. 参数动态配置 1. 简介 为了方便可视化调试和显示 ROS针对机器人开发提供了一个基于Qt架构的图 ...
- CMake初学笔记(一)
CMake初学笔记(一) CMake是什么 CMake怎么实现跨平台 CMake具体实践过程 CMakeLists.txt编写快速入门 常见函数 例子 CMake是什么 跨平台编译工具,为了实现&qu ...
- ROS学习笔记(八): ROS通信架构
ROS学习笔记(八): ROS通信架构 文章目录 01 Node & Master 1.1 Node 1.2 Master 1.3 启动master和node 1.4 rosrun和rosno ...
- ROS学习笔记(一)补充篇 参考创客制造
我将ROS的CPP部分分成7个部分: 1.基础的node param 2.动态调节参数 3.关于TF变换 4.actionlib 5.插件技术 6.movebase 7.nodelet技术 前言 相比 ...
- CMake结合PCL库学习(2)
紧接着上一篇文章 对于PCL 库中的各个模块之间是有相互依赖关系的 其中Common模块是最基础的模块,其中是定义各种数据结构的头文件,所以Common这个模块是不需要依赖性响的,但是IO 模块就是需 ...
- Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式
PLY格式是比较流行的保存点云Point Cloud的格式,可以用MeshLab等软件打开,而VTK是医学图像处理中比较常用的格式,可以使用VTK库和ITK库进行更加复杂的运算处理.我们可以使用Par ...
最新文章
- function java_java.util.function之function
- nyoj - 947(Max Xor)字典树
- 【dfs】树(jzoj 2753)
- python怎么重复输出_如何根据输出在Python中重复函数?
- C++ STL list输出和增加
- 模拟——扫雷游戏(洛谷 P2670)
- Android---真机调试时不能识别手机的解决方案
- 【Matlab学习笔记】【数学形态学】数字图像处理(MATLAB版)冈萨雷斯第九章学习笔记
- M1 Mac YYKit 报错
- 一卡通(M1卡)破解过程记录——理论篇
- Android启动活动用什么方法,Android - 使用intent uri从命令行启动活动
- 【vue】Element Calendar 组件显示农历及节日
- WPF的TextBox抛出InvalidOperationException异常:Cannot close undo unit because no opened unit exists.
- qt开发是使用QT creator 还是用VS+qt?
- html文字居中加下划线,HTML文字对齐,斜体,下划线和删除线
- 【SpringBoot】51、Spring-Boot-Admin搭建服务监控系统
- PSPad v4.5.3(2295) Beta
- 档案信息管理系统设计与实现(vue + java +Ajax)
- Python编程:从入门到实践_动手试一试答案
- 如何挖掘和布局关键词
热门文章
- 2010年写给自己的一封信
- 牛客网(剑指offer) 第十五题 反转链表
- [Python人工智能] 五.Tensorboard可视化基本用法及绘制整个神经网络
- iOS之深入解析Runtime的objc_msgSend“慢速查找”底层原理
- 【数据结构与算法】之深入解析“两个数组的交集”的求解思路与算法示例
- 2013\National _C_C++_A\1.填算式
- Counterfeit Dollar
- 微信小程序 setData动态设置数组中的数据
- 【机器视觉】 dev_set_lut算子
- 【Qt】2D绘图之窗口-视口转换