PCL 1.8.1 выдает ошибки компиляции, связанные с типом Eigen классов при использовании Eigen 3.3.90 - PullRequest
0 голосов
/ 18 октября 2018

Для проекта, над которым я работаю, мне нужно использовать Point Cloud Library, и автор части кода, который я повторно использую, предложил перейти на PCL 1.8.1 и последнюю ветку Eigen3.Я загрузил все зависимости и успешно их построил.Я проверил это, убедившись, что вижу их в своем каталоге usr / local / include, а также запустил простые примеры для каждой библиотеки (VTK, Boost, Eigen), чтобы проверить, работают ли они.Все хорошо, пока там.

Затем я загрузил исходный код PCL с GitHub и могу его настроить.Но когда я пытаюсь его скомпилировать, я вижу эту ошибку: Downloads / pcl-pcl-1.8.1 / surface / include / pcl / surface / impl / двусторонний_upsampling.hpp: 112: 88: ошибка: невозможно преобразовать 'Eigen :: internal:: enable_if, float, float>> :: type {aka Eigen :: IndexedView, float, float>} 'в' float 'при инициализации float val_exp_depth = val_exp_depth_matrix (dx + window_size_, dy + window_size _);

* 1004;* Я использую следующее:
  • Ubuntu 16.04, PCL 1.8.1, VTK 8.1.1, FLANN 1.8.4, Eigen 3.3.90 (ветвь по умолчанию), Boost 1.68.0.
  • Вероятно, не связано: CUDA 9.1, Ceres 1.14, gtest, ROS-кинетика (я испортил установку ROS в процессе, но я не против переустановить ее позже. Я поднимаю это, если случайноесть некоторая корреляция, о которой я понятия не имею).

Я новичок в большей части этого, поэтому я заранее прошу прощения, если я не смог объяснить хорошо или не поделился достаточной информацией для васПомоги мне.Пожалуйста, дайте мне знать, и я сделаю все, что смогу.Буду признателен за любую оказанную помощь.Спасибо!

1 Ответ

0 голосов
/ 18 октября 2018

Проблема в том, что матрица val_exp_depth_matrix индексируется с использованием значений с плавающей запятой (dx и dy).Они должны быть преобразованы в целочисленные типы, такие как int или long.

Эта проблема уже была исправлена ​​в репозитории PCL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...