首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pcl分割主故障::ExtractIndices (pcl,ROS,catkin)

用pcl分割主故障::ExtractIndices (pcl,ROS,catkin)
EN

Stack Overflow用户
提问于 2015-04-08 22:10:45
回答 1查看 1.4K关注 0票数 2

我试图在C++中运行以下代码:

代码语言:javascript
复制
#include <pcl_ros/point_cloud.h>
#include "pcl/pcl_base.h"
#include "pcl/PointIndices.h"
#include "pcl/conversions.h"
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/voxel_grid.h>

using namespace std;
using namespace pcl;

void myFunction() {
     ...
     ExtractIndices<PointXYZ> rangefilter;
     ...
}

int main() {
     cout << "Hello" << endl;
}

代码会编译,但是我一运行它就会得到一个分段错误;cout语句没有被执行。注意,我实际上根本没有主要调用myFunction()。唯一的错误消息是

代码语言:javascript
复制
Segmentation fault (core dumped)

当我在ExtractIndices中注释掉myFunction行时,问题就消失了,代码运行得很好:

代码语言:javascript
复制
     // ExtractIndices<PointXYZ> rangefilter;

我正在用ROS在Ubuntu上运行这个程序,并使用catkin_make编译它,如果这有帮助的话。

我真的很感激你帮我调试这个问题,因为我已经被困在这个问题上一段时间了。感谢您的阅读!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 02:34:55

多亏了评论者的帮助,我才找到了这个问题。我对gdb进行了回溯,并在googled中搜索了输出:

代码语言:javascript
复制
boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init()

然后发现了这个:http://answers.ros.org/question/194699/segmentation-fault-when-using-correspondencerejectorsampleconsensus/

这说明您不能在PCL中使用C++11,所以我从我的CMakeLists.txt文件中删除了这一行:

代码语言:javascript
复制
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")

而且起作用了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29526266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档