2015-09-09 2 views
0

У меня проблема с PCL: в частности, я хочу использовать его в существующем проекте с существующими Makefiles. Тем не менее, PCL использует CMake, и я не мог найти, как добавить его в Makefile напрямую. Кто-нибудь знает как это сделать?Добавление PCL (Point Cloud Library) в существующий проект с Makefile

+0

В чем вопрос? Как подключиться к библиотеке? Как получить библиотеку, созданную вашим make-файлом, автоматически? Что-то другое? –

+0

Да, как связать PCL непосредственно в Makefile. – Vahe

+0

Как связать с данной библиотекой не имеет никакого отношения к тому, как построена эта библиотека. Вы просто спрашиваете, как добавить правильные флаги в свою команду связи, чтобы ваш двоичный файл был связан с доступной системой библиотекой PCL? –

ответ

0

Сначала попробуйте скомпилировать один из примеров, представленных на веб-сайте PCL, с помощью CMake. http://pointclouds.org/documentation/tutorials/pcl_visualizer.php

После компиляции приведенного выше примера вы найдете различные новые файлы и папку, созданные CMake в вашем каталоге.

Перейти к CMakeFiles/pcl_visualizer_demo.dir /. Открыть файл с именем link.txt, который содержит команду терминала, которая имеет различные библиотеки pcl (облачные облачные библиотеки), динамически связанные с файлом.

команда должна выглядеть так, как показано ниже команды

/usr/bin/c++ -O3 -Wno-deprecated -s CMakeFiles/pcl_visualizer_demo.dir -o pcl_visualizer_demo -rdynamic -lpcl_common -Wl,-Bstatic -lflann_cpp_s -Wl,-Bdynamic -lpcl_kdtree -lpcl_octree -lpcl_search -lqhull -lpcl_surface -lpcl_sample_consensus -lpcl_io -lpcl_filters -lpcl_features -lpcl_keypoints -lpcl_registration -lpcl_segmentation -lpcl_recognition -lpcl_visualization -lpcl_people -lpcl_outofcore -lpcl_tracking /usr/lib/libvtkGenericFiltering.so.5.8.0 /usr/lib/libvtkGeovis.so.5.8.0 /usr/lib/libvtkCharts.so.5.8.0 /usr/lib/libvtkViews.so.5.8.0 /usr/lib/libvtkInfovis.so.5.8.0 /usr/lib/libvtkWidgets.so.5.8.0

Вы можете включить эти библиотеки в вашем Makefile непосредственно.

Если вы используете разные функции или файлы заголовков pcl, сначала попробуйте скомпилировать его с помощью CMake и связать библиотеки и добавить их в свой Makefile предыдущего проекта.

Я пробовал этот метод для моего проекта, который работал отлично. Я попробовал pkg-config, чтобы связать библиотеки, которые не работали в моем случае. Я не смог найти какой-либо другой метод, который бы легко связывал все необходимые библиотеки.

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