Использование PCL с Eclipse

Я хочу использовать PCL с Eclipse в Ubuntu. Вот что я сделал до сих пор:

а) Установленный PCL с помощью apt-get:

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

б) Создал новый проект в eclipse ~/workspace/hello_pcl/

c) В указанной выше папке создано src/pcd_write.cpp из этого источника.

г) Создал следующий CMakeLists.txt:

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(hello_pcl)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES})

e) Установите путь включения /usr/include/pcl-1.7/ в настройках проекта.

Мой вопрос: что мне теперь делать, чтобы создавать проекты с Eclipse? Должен ли я сделать проект с помощью cmake:

cd ~/workspace/hello_pcl/build
cmake ../src
make

Или я должен сделать что-то еще? Я новичок в cmake.

Я полагаю, мне следует добавить библиотеки в настройки проекта, но не нашел на странице pcl, как называются эти библиотеки...

ИЗМЕНИТЬ:

Хорошо, благодаря комментарию я смог создать и запустить приложение hello_pcl (я использовал решение из Как настроить eclipse CDT для CMake), но теперь у меня есть еще одна проблема. Приложение работает, но редактор кода Eclipse по-прежнему подчеркивает все команды, зависящие от PCL, и подписывает их как Field [...] could not be resolved, а также включает Unresolved inclusion [...]. Странно, #include <iostream> макрс тоже как нерешенный. Должен ли я как-то включать библиотеки PCL?


person Szał Pał    schedule 23.08.2014    source источник


Ответы (1)


Мне удалось решить мою проблему, вот что я сделал:

В принципе, пункты от а) до г) верны (хотя я создал проект не в папке рабочей области eclipse, а в ~/). Теперь хитрость: кажется, что при следовании типичному рабочему процессу использования CMake с Eclipse CDT индексатор ведет себя неправильно. Даже после добавления определенного пути к пути и символам в свойствах проекта.

Здесь важно то, что после создания CMakeLists.txt (может быть для начала лучше поставить target_link_libraries для всех библиотек - ${PCL_LIBRARIES}) нужно собрать проект с (в моем случае):

cd ~/hello_pcl/build
cmake -G "Eclipse CDT4 - Unix Makefiles" ../src

Конечно, если вы хотите иметь отладочную сборку, вы должны указать соответствующую опцию.

Следующий шаг — добавить проект в рабочее пространство eclipse, но не как проект Makefile, а как общий проект, то есть: Файл -> Импорт -> Общие -> Существующие проекты в рабочую область. Поместите путь к папке сборки в Выберите корневой каталог (в моем случае ~/hello_pcl/build) и нажмите Готово.

Это момент, когда индексатор анализирует все включения. И это занимает много времени. Но после этого вроде все работает нормально.

person Szał Pał    schedule 23.08.2014
comment
На веб-сайте PCL есть руководство, объясняющее, как использовать Eclipse с PCL: pointclouds.org/documentation /учебники/ - person Victor Lamoine; 23.09.2015