我在visual studio 2010中创建了win控制台应用程序项目。它是OpenNI_Grabber的PCL示例代码。enter image description here
以上是我得到的错误的快照。
#include<pcl\visualization\cloud_viewer.h>
#include<pcl\io\grabber.h>
#include<pcl\io\openni_grabber.h>
#include<iostream>
#include<sstream>
#include<windows.h>
using namespace pcl;
using namespace std;
class SimpleOpenNIViewer
{
public:
SimpleOpenNIViewer () : viewer ("PCL OpenNI Viewer") {}
void cloud_cb_ (const pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr &cloud)
{
if (!viewer.wasStopped())
viewer.showCloud (cloud);
}
void run ()
{
pcl::Grabber* interface = new pcl::OpenNIGrabber();
boost::function<void (const pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr&)> f =
boost::bind (&SimpleOpenNIViewer::cloud_cb_, this, _1);
interface->registerCallback (f);
interface->start ();
while (!viewer.wasStopped())
{
boost::this_thread::sleep (boost::posix_time::seconds (1));
}
interface->stop ();
}
pcl::visualization::CloudViewer viewer;
};
int main ()
{
SimpleOpenNIViewer v;
v.run ();
return 0;
}