对符号“_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz”的未定义引用

undefined reference to symbol '_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz'

`我只是想在 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. 我在 TX2 上使用 plc,也许 arm 上的 plc 有问题。

尝试将以下内容添加到您的 CMakeLists.txt:

find_package(PCL 1.7 REQUIRED)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

include_directories(
    ${PCL_INCLUDE_DIRS}
)

此外,link ${PCL_LIBRARIES} 到您的目标。在您的 cpp 代码中包含必要的头文件。