`Я просто пытаюсь скомпилировать программу в ROS. Я уже соединил все необходимые библиотеки, но эту я не могу найти. Все, что я получаю, - это следующая ошибка в кодовых блоках (также в eclipse).
Кто-нибудь знает, как избавиться от этой ошибки? Или даже какая библиотека ему нужна?
cmake_minimum_required(VERSION 2.8.3)
project(gpuvoxelgetpointcloud)
find_package(catkin REQUIRED COMPONENTS
cmake_modules
roscpp
rospy
std_msgs
sensor_msgs
cv_bridge
image_transport
pcl_conversions
pcl_ros
)
find_package(icl_core REQUIRED )
find_package(gpu_voxels REQUIRED)
find_package(Boost COMPONENTS system REQUIRED)
find_package(orocos_kdl REQUIRED)
find_package(CUDA REQUIRED)
find_package(PCL 1.7 REQUIRED)
#include <pcl_ros/transforms.h>
#include <pcl/conversions.h>
#include <pcl/PCLPointCloud2.h>
Ошибка:
неопределенная ссылка на символ
'_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz'
//use/lib/aarch64_linux-gnu/ libpcl-common.so.1.7: error adding symbols:DSO missing from command line collect2:ld returned 1 exit status.
Я использую plc на TX2 и, возможно, что-то не так с plc на руке.
Быстрое разборчивание в голове + поиск в Google предполагает, что вам может не хватать включения для pcl / pcl_macros.h. Просто дикая догадка.
Попробуйте добавить следующее в свой CMakeLists.txt:
find_package(PCL 1.7 REQUIRED)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
include_directories(
${PCL_INCLUDE_DIRS}
)
Также свяжите ${PCL_LIBRARIES}
с вашими целями. Включите необходимые файлы заголовков в свои коды cpp.
Используйте
nm
илиobjdump
для поиска каждой установленной библиотеки и найдите этот символ с помощью команды grep.