报错内容:
/opt/ros/melodic/include/ros/message_traits.h: In instantiation of ‘static const char* ros::message_traits::MD5Sum<M>::value(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’:
/opt/ros/melodic/include/ros/message_traits.h:255:102: required from ‘const char* ros::message_traits::md5sum(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’
/opt/ros/melodic/include/ros/publisher.h:80:7: required from ‘void ros::Publisher::publish(const boost::shared_ptr<X>&) const [with M = pcl::PointCloud<pcl::PointXYZRGB>]’
/home/mjy/dev/ap1_aloam/src/A-LOAM/src/laserMapping.cpp:1045:66: required from here
/opt/ros/melodic/include/ros/message_traits.h:126:14: error: ‘const class pcl::PointCloud<pcl::PointXYZRGB>’ has no member named ‘__getMD5Sum’
return m.__getMD5Sum().c_str();
解决方法:
在头文件中加入:#include <pcl_ros/point_cloud.h>
即可解决