|
我写了一段代码,想实现obj文件的读取和保存,代码如下:
#include <pcl/point_types.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/PolygonMesh.h>
#include <pcl/ros/conversions.h>//formROSMsg
#include <pcl/point_cloud.h>
#include <pcl/io/vtk_lib_io.h>//loadPolygonFileOBJ
//#include <pcl/visualization/pcl_visualizer.h>
int main()
{
pcl::PolygonMesh mesh;
pcl::io::loadPolygonFile("K326-DD-REDUCE NOISE.obj",mesh);
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::fromROSMsg(mesh.cloud, *cloud);
pcl::io::savePCDFileASCII("hah.pcd",*cloud);
cin.get();
return 0;
}
但是出现了问题:
1>d:\program files\pcl\pclsource\pcl-pcl-1.7.0\common\include\pcl\ros\conversions.h(111): error C2143: syntax error : missing ';' before ''template<''.
然后调试,报错指向了conversions.h:
PCL_DEPRECATED (template<typename PointT> void toROSMsg (
const pcl::PointCloud<PointT>& cloud, pcl::PCLPointCloud2& msg),
"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.");
求帮助,谢谢!
|
|