Запуск исполняемого файла hdl_simple_viewer.cpp из библиотеки Point Cloud

Библиотека Point Cloud поставляется с исполняемым файлом pcl_hdl_viewer_simple, который я могу запустить (./pcl_hdl_viewer_simple) без каких-либо дополнительных аргументов для получения данных в реальном времени от Velodyne LIDAR HDL32.

Исходный код этой программы должен быть hdl_viewer_simple.cpp . Упрощенная версия кода приведена на этой странице, которая не может быть легко скомпилирована и требует наличия немного доработки, чтобы он скомпилировался.

Моя проблема в том, что исполняемый файл, который я сам создаю для обеих версий, не может работать. Я всегда получаю ошибку умного указателя "Assertion px! = 0" error. Я не уверен, правильно ли я выполняю программу или что-то в этом роде. Исполняемый файл должен выполняться как ./hdl_viewer_simple -calibrationFile hdl32calib.xml -pcapFile file.pcap в случае воспроизведения из ранее записанных файлов PCAP или просто ./hdl_viewer_simple, если вы хотите получить данные в реальном времени с реального датчика. Однако я всегда получаю сообщение об ошибке утверждения.

Кто-нибудь смог запустить исполняемые файлы? Я не хочу использовать драйверы ROS


person user1420    schedule 29.03.2016    source источник


Ответы (1)


«Assertion px! = 0» происходит, потому что ваш указатель не инициализирован.

Теперь, как было сказано, вы можете инициализировать его внутри своих подпрограмм, если указатель равен NULL, особенно для ввода данных.

в здесь вы можете попробовать обновить строку 83 следующим образом:

CloudConstPtr cloud(new Cloud); //initializing your pointer

и, надеюсь, это сработает.

Ваше здоровье,

person Vtik    schedule 29.03.2016
comment
Я получаю синтаксическую ошибку для CloudConstPtr cloud_ (новое облако), а также для CloudConstPtr cloud_ (новый CloudConstPtr). Не могли бы вы взглянуть еще раз? - person user1420; 30.03.2016