本人在学习PCL的贪婪投影三角算法对有向点云进行三角化的例子时,遇到了一些问题,在运行书中给geedy_projection.cpp中的程序时,程序会报错,其中一个错误便是
“error C2653: “sensor_msgs”: 不是类或命名空间名称”
出现错误是因为在PCL1.8中将PointCloud2加入了pcl名字空间,sensor_msgs是旧的方式,不再使用。
修改方法为:
将原代码中报错的的这三行
sensor_msgs::PointCloud2 cloud_blob;
pcl::io::loadPCDFile ("table_scene_lms400_downsampled.pcd", cloud_blob);
pcl::fromROSMsg (cloud_blob, *cloud);
修改为
pcl::PCLPointCloud2 cloud_blob;
pcl::io::loadPCDFile("table_scene_lms400_downsampled.pcd", cloud_blob);
pcl::fromPCLPointCloud2(cloud_blob, *cloud);
如此,程序可正常运行。