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

时间:2018-08-28 12:25:10

标签: c++ cmake point-cloud-library

`我只是想在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出了点问题。

1 个答案:

答案 0 :(得分:0)

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