2015-04-08 2 views
1

Я пытаюсь выполнить следующую команду в C++:вина Сегментация перед главной процедурой с PCl :: ExtractIndices (ПКЛ, ROS, сережка)

#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(). Сообщение только ошибка

Segmentation fault (core dumped) 

Когда я закомментируйте строку ExtractIndices в MYFUNCTION, проблема уходит и код работает нормально:

 // ExtractIndices<PointXYZ> rangefilter; 

Я бегу это на Ubuntu с РОС и компиляции с catkin_make, если это поможет.

Я бы очень признателен за помощь в отладке, так как я некоторое время задерживался на этой проблеме. Спасибо за прочтение!

+1

, где отладчик говорит, что он полетит? – pm100

+0

Причина возникновения сбоев перед 'main' в основном связана с созданием глобальных или статических объектов до запуска main(), а построение этих объектов вызывает ошибку. Вам нужно получить трассировку стека функций, вызванных сбоем. – PaulMcKenzie

+0

[Начать здесь] (https://sourceware.org/gdb/onlinedocs/gdb/). –

ответ

1

Благодаря помощи комментаторов, я смог найти проблему. Я сделал трассировку с помощью GDB и гугла вывода:

boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init() 

Тогда нашел это: http://answers.ros.org/question/194699/segmentation-fault-when-using-correspondencerejectorsampleconsensus/

Который говорит, что вы не можете использовать C++ 11 с PCL, так что я удалил эту строку из моих CMakeLists .txt file:

set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}") 

И это сработало!

 Смежные вопросы

  • Нет связанных вопросов^_^