对符号'_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz'的未定义引用

undefined reference to symbol '_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz'

本文关键字:未定义 引用 LEVELEPKcz ZN3pcl7console5printENS0 符号 15VERBOSITY      更新时间:2023-10-16

'我只是想用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,也许手臂上的 plc 有问题。

尝试将以下内容添加到 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 代码中包含必要的头文件。