Я слежу за кучей руководств по установке PCL ... Я получаю следующую ошибку:
ld: library not found for -lflann
Я установил pcl с помощью brew install pcl. Вот мой CMakeList.txt
set(PCL_DIR "/usr/local/Cellar/pcl/1.9.1/share/pcl-1.9/")
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(pcd_write)
set(PCL_DIR "/usr/local/Cellar/pcl/1.9.1/share/pcl-1.9/")
find_package(PCL 1.9 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (pcd_write pcd_write.cpp)
target_link_libraries (pcd_write ${PCL_LIBRARIES})
cmake работает нормально и создает Makefile. При запуске make я получаю:
[ 50%] Linking CXX executable pcd_write
ld: library not found for -lflann
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [pcd_write] Error 1
make[1]: *** [CMakeFiles/pcd_write.dir/all] Error 2
make: *** [all] Error 2
Есть ли обновленное подробное руководство по установке PCL на macOS Mojave? Спасибо..!





У меня такая же проблема (при сборке pcl как части ROS Kinetic на macOS Mojave). Моим обходным путем было открытие link.txt во всех соответствующих подпапках CMakeFiles и выполнение следующих замен:
-lflann на /usr/local/lib/libflann.dylib-lflann_cpp на /usr/local/lib/libflann_cpp.dylibОбратите внимание, что в некоторых файлах это может происходить несколько раз. Поскольку я использую catkin для всего процесса сборки, мое расположение этих файлов, вероятно, будет немного отличаться от вашего.
Это решение, по общему признанию, очень хакерское, и я уверен, что есть более правильный способ сделать это, но оно заставило сборку работать.
Возможно, лучший способ решить эту проблему - скачать pcl и скомпилировать его самостоятельно. Кажется, что pcl (1.9.1_4) от brew имеет неправильные ссылки на FLANN (1.9.1_7)
В любом случае мы можем это взломать ... изменив файл FindFLANN.cmake в '/usr/local/Cellar/pcl/1.9.1_4/share/pcl-1.9/Modules'
В начале файла добавьте:
set(FLANN_LIBRARIES /usr/local/Cellar/flann/1.9.1_7/lib/libflann.dylib /usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib)
set(FLANN_FOUND TRUE)
Надеюсь, это поможет, если вы боретесь за создание ROS на Mac :)
Я успешно построил его, выполнив следующие шаги на Мохаве 10,14
brew install boost
brew install eigen
brew install flann
brew install vtk
git clone https://github.com/PointCloudLibrary/pcl.git
mkdir BUILD
cd BUILD
cmake ..
make
sudo make install
Спасибо! Я попробую. В итоге я использовал Virtual Box для запуска виртуальной машины Ubuntu на моем Mac и PCL, установленного без проблем на Linux ... Затем я построил тонкий веб-сервер для связи между macOS и Linux ... Хакерский да ... но я попробую ваш подход и отчет.