问题描述
写了一个node订阅激光雷达数据信息,使用了pcl相关的数据类型,编译的时候报错。
bug原文 CMakeFiles/auto_charging_control.dir/src/auto_charging_control.cpp.o:在函数‘void pcl::createMapping<pcl::PointXYZ>(std::vector<pcl::PCLPointField, std::allocator<pcl::PCLPointField> > const&, std::vector<pcl::detail::FieldMapping, std::allocator<pcl::detail::FieldMapping> >&)’中:/usr/local/include/pcl-1.8/pcl/conversions.h:108:对‘pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)’未定义的引用/usr/local/include/pcl-1.8/pcl/conversions.h:108:对‘pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)’未定义的引用/usr/local/include/pcl-1.8/pcl/conversions.h:108:对‘pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)’未定义的引用 解决方法
像这种问题,cpp 程序内部没有报错,那么一般都是库的问题。
我这里主要的问题是CMakeLists.txt 中 对于没有添加 pcl 库,所以才会出现这样的问题,因此把这个库加进去进行了。
在CMakeLists.txt,修改为:
target_link_libraries(auto_charging_control ${catkin_LIBRARIES} ${PCL_LIBRARIES}) 参考链接
调用激光雷达数据教程
debug参考