PCL 1.8.1 дает ошибки компиляции, связанные с приведением типов классов Eigen при использовании Eigen 3.3.90

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

Затем я загрузил исходный код PCL с GitHub и могу его настроить. Но когда я пытаюсь его скомпилировать, я вижу такую ​​ошибку: Загрузки / pcl-pcl-1.8.1 / surface / include / pcl / surface / impl /intage_upsampling.hpp: 112: 88: error: cannot convert '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_);

Я использую следующее:

  • 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-kinetic (я испортил мою установку ROS в процессе, но я не против переустановить ее позже. Понятия не имею).

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
189
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

О, хорошо, через пару часов я смогу вернуться в лабораторию и попробовать это. Я дам вам знать, как это происходит. Большое спасибо!

pahadi_bhula 18.10.2018 20:47

Это сработало как шарм! Итак, как вы предложили, я загрузил последний исходный код с Github, а не выпуски, и собрал его. Спасибо @ggael :)

pahadi_bhula 19.10.2018 00:46

Другие вопросы по теме