PCL link QT C++ 错误

PCL link error in QT C++

我提到了这个 link。我也有同样的问题。

PCLVisualizer addPointCloud crashes

我正在使用 Qt C++。

我正在使用 PCL1.8 (C:\Program Files\PCL1.8.0) 我正在使用 Windows 7 OS。 为 PCL 和 VTK 提供了所有 lib 依赖项 该应用程序未编译。出现 link 错误。 MSVC 编译器 64 位。以下是我的代码片段。

    void MainWindow::on_pushButton_5_clicked()
{
 pcl::PointCloud::Ptr cloud (new pcl::PointCloud) ; 
 int size=45; 
 cloud->resize(45); 
 for(int ix=0;ix!=45;ix++) 
  { 
    cloud->points[ix].x=ix; 
    cloud->points[ix].y=ix; 
    cloud->points[ix].z=ix;      
    cloud->points[ix].intensity=1; 
  }
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));

     viewer->setBackgroundColor (0.5, 0.5, 0.5);
     viewer->addPointCloud<pcl::PointXYZI> (cloud, "sample cloud");
     viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "sample cloud");
     viewer->addCoordinateSystem (1.0);
     while (!viewer->wasStopped ())
     {
             viewer->spinOnce (100);
             boost::this_thread::sleep (boost::posix_time::microseconds   
            (100000));
     }
}

错误附在下方 Link Error image

根据 MSDN here and here 你需要 link User32.lib 和 Gdi32.lib

在 .pro 文件中:

LIBS += -lUser32 -lGdi32

可能会找到完整的解决方案 here