环境:Windows11+PCL1.13.1+visual studio 2022

PCL安装及配置

  1. https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.13.1上下载安装包PCL-1.13.0-AllInOne-msvc2022-win64.exe,下载完成后运行,根据提示进行安装。
  2. 双击3rdParty\OpenNI2目录下的OpenNI-Windows-x64-2.2.msi文件进行OpenNI 2.2SDK的安装,安装位置置于PCL 1.13.0\3rdParty\OpenNI2
  3. 环境变量配置
    1. 新建系统变量PCL_ROOT,其值为点云库PCL1.13.1的根路径
    2. 编辑系统变量Path,增加如下值:
    %PCL_ROOT%\bin
    %PCL_ROOT%\3rdParty\VTK\bin
    %PCL_ROOT%\3rdParty\FLANN\bin
    %PCL_ROOT%\3rdParty\OpenNI2\Redist
    %PCL_ROOT%\3rdParty\Boost\lib
    %PCL_ROOT%\3rdParty\Qhull\bin
    %PCL_ROOT%\3rdParty\OpenNI2\Tools
    
  4. 将以下的pdb文件放置到PCL 1.13.0\bin目录下

开发环境的测试

这里使用依赖静态库的方式进行PCL开发环境的测试,当然也可以使用依赖动态库的方式。

  1. 打开visual studio2022,新建一个控制台项目
  2. 如果项目在Debug模式下运行,则右击新建的项目=》属性=》调试,在环境中添加如下内容:
PATH=E:\developTools\PCL\PCL 1.13.0\\bin;E:\developTools\PCL\PCL 1.13.0\\3rdParty\FLANN\bin;E:\developTools\PCL\PCL 1.13.0\\3rdParty\VTK\bin;E:\developTools\PCL\PCL 1.13.0\\3rdParty\OpenNI2\Tools
  1. 关闭SDL检查
  2. 将符合模式更改为否
  3. 添加项目属性表:
    1. 打开属性管理器:视图=》其他窗口=》属性管理器
    2. 右击Debug | x64=》添加新项目属性表,其名称为PLC1.13.1.props
    3. 添加完后,双击新添加的PLC1.13.1.props,VC++目录=》包含目录。在包含目录中添加如下内容
    E:\developTools\PCL\PCL 1.13.0\3rdParty\VTK\include\vtk-9.2
    E:\developTools\PCL\PCL 1.13.0\3rdParty\Qhull\include
    E:\developTools\PCL\PCL 1.13.0\3rdParty\OpenNI2\Include
    E:\developTools\PCL\PCL 1.13.0\3rdParty\FLANN\include
    E:\developTools\PCL\PCL 1.13.0\3rdParty\Eigen\eigen3
    E:\developTools\PCL\PCL 1.13.0\3rdParty\Boost\include\boost-1_80
    E:\developTools\PCL\PCL 1.13.0\include\pcl-1.13
    
    
    1. VC++目录=》库目录,进行添加库目录:
    E:\developTools\PCL\PCL 1.13.0\3rdParty\VTK\lib
    E:\developTools\PCL\PCL 1.13.0\3rdParty\Qhull\lib
    E:\developTools\PCL\PCL 1.13.0\3rdParty\OpenNI2\Lib
    E:\developTools\PCL\PCL 1.13.0\3rdParty\Boost\lib
    E:\developTools\PCL\PCL 1.13.0\3rdParty\FLANN\lib
    E:\developTools\PCL\PCL 1.13.0\lib
    
    
    1. C/C++=》预处理器,进行预处理器定义设置
    BOOST_USE_WINDOWS_H
    NOMINMAX
    _CRT_SECURE_NO_DEPRECATE
    _SCL_SECURE_NO_WARNINGS
    _CRT_SECURE_NO_WARNINGS
    _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
    
    1. 链接器=》输入=》附加依赖项,进行添加附加依赖项
      1. Debug模式如下:
      pcl_commond.lib
      pcl_featuresd.lib
      pcl_filtersd.lib
      pcl_iod.lib
      pcl_io_plyd.lib
      pcl_kdtreed.lib
      pcl_keypointsd.lib
      pcl_mld.lib
      pcl_octreed.lib
      pcl_outofcored.lib
      pcl_peopled.lib
      pcl_recognitiond.lib
      pcl_registrationd.lib
      pcl_sample_consensusd.lib
      pcl_searchd.lib
      pcl_segmentationd.lib
      pcl_stereod.lib
      pcl_surfaced.lib
      pcl_trackingd.lib
      pcl_visualizationd.lib
      libboost_atomic-vc143-mt-gd-x64-1_80.lib
      libboost_bzip2-vc143-mt-gd-x64-1_80.lib
      libboost_chrono-vc143-mt-gd-x64-1_80.lib
      libboost_container-vc143-mt-gd-x64-1_80.lib
      libboost_context-vc143-mt-gd-x64-1_80.lib
      libboost_contract-vc143-mt-gd-x64-1_80.lib
      libboost_coroutine-vc143-mt-gd-x64-1_80.lib
      libboost_date_time-vc143-mt-gd-x64-1_80.lib
      libboost_exception-vc143-mt-gd-x64-1_80.lib
      libboost_filesystem-vc143-mt-gd-x64-1_80.lib
      libboost_graph-vc143-mt-gd-x64-1_80.lib
      libboost_graph_parallel-vc143-mt-gd-x64-1_80.lib
      libboost_iostreams-vc143-mt-gd-x64-1_80.lib
      libboost_json-vc143-mt-gd-x64-1_80.lib
      libboost_locale-vc143-mt-gd-x64-1_80.lib
      libboost_log-vc143-mt-gd-x64-1_80.lib
      libboost_log_setup-vc143-mt-gd-x64-1_80.lib
      libboost_math_c99-vc143-mt-gd-x64-1_80.lib
      libboost_math_c99f-vc143-mt-gd-x64-1_80.lib
      libboost_math_c99l-vc143-mt-gd-x64-1_80.lib
      libboost_math_tr1-vc143-mt-gd-x64-1_80.lib
      libboost_math_tr1f-vc143-mt-gd-x64-1_80.lib
      libboost_math_tr1l-vc143-mt-gd-x64-1_80.lib
      libboost_mpi-vc143-mt-gd-x64-1_80.lib
      libboost_nowide-vc143-mt-gd-x64-1_80.lib
      libboost_numpy310-vc143-mt-gd-x64-1_80.lib
      libboost_prg_exec_monitor-vc143-mt-gd-x64-1_80.lib
      libboost_program_options-vc143-mt-gd-x64-1_80.lib
      libboost_python310-vc143-mt-gd-x64-1_80.lib
      libboost_random-vc143-mt-gd-x64-1_80.lib
      libboost_regex-vc143-mt-gd-x64-1_80.lib
      libboost_serialization-vc143-mt-gd-x64-1_80.lib
      libboost_system-vc143-mt-gd-x64-1_80.lib
      libboost_test_exec_monitor-vc143-mt-gd-x64-1_80.lib
      libboost_thread-vc143-mt-gd-x64-1_80.lib
      libboost_timer-vc143-mt-gd-x64-1_80.lib
      libboost_type_erasure-vc143-mt-gd-x64-1_80.lib
      libboost_unit_test_framework-vc143-mt-gd-x64-1_80.lib
      libboost_wave-vc143-mt-gd-x64-1_80.lib
      libboost_wserialization-vc143-mt-gd-x64-1_80.lib
      libboost_zlib-vc143-mt-gd-x64-1_80.lib
      flann-gd.lib
      flann_cpp-gd.lib
      flann_cpp_s-gd.lib
      flann_s-gd.lib
      OpenNI2.lib
      qhullcpp_d.lib
      qhullstatic_d.lib
      qhullstatic_rd.lib
      qhull_rd.lib
      vtkcgns-9.2.lib
      vtkcgns-9.2-gd.lib
      vtkChartsCore-9.2-gd.lib
      vtkCommonColor-9.2-gd.lib
      vtkCommonComputationalGeometry-9.2-gd.lib
      vtkCommonCore-9.2-gd.lib
      vtkCommonDataModel-9.2-gd.lib
      vtkCommonExecutionModel-9.2-gd.lib
      vtkCommonMath-9.2-gd.lib
      vtkCommonMisc-9.2-gd.lib
      vtkCommonSystem-9.2-gd.lib
      vtkCommonTransforms-9.2-gd.lib
      vtkDICOMParser-9.2-gd.lib
      vtkDomainsChemistry-9.2-gd.lib
      vtkDomainsChemistryOpenGL2-9.2-gd.lib
      vtkdoubleconversion-9.2-gd.lib
      vtkexodusII-9.2-gd.lib
      vtkexpat-9.2-gd.lib
      vtkFiltersAMR-9.2-gd.lib
      vtkFiltersCore-9.2-gd.lib
      vtkFiltersExtraction-9.2-gd.lib
      vtkFiltersFlowPaths-9.2-gd.lib
      vtkFiltersGeneral-9.2-gd.lib
      vtkFiltersGeneric-9.2-gd.lib
      vtkFiltersGeometry-9.2-gd.lib
      vtkFiltersHybrid-9.2-gd.lib
      vtkFiltersHyperTree-9.2-gd.lib
      vtkFiltersImaging-9.2-gd.lib
      vtkFiltersModeling-9.2-gd.lib
      vtkFiltersParallel-9.2-gd.lib
      vtkFiltersParallelImaging-9.2-gd.lib
      vtkFiltersPoints-9.2-gd.lib
      vtkFiltersProgrammable-9.2-gd.lib
      vtkFiltersSelection-9.2-gd.lib
      vtkFiltersSMP-9.2-gd.lib
      vtkFiltersSources-9.2-gd.lib
      vtkFiltersStatistics-9.2-gd.lib
      vtkFiltersTexture-9.2-gd.lib
      vtkFiltersTopology-9.2-gd.lib
      vtkFiltersVerdict-9.2-gd.lib
      vtkfmt-9.2-gd.lib
      vtkfreetype-9.2-gd.lib
      vtkGeovisCore-9.2-gd.lib
      vtkgl2ps-9.2-gd.lib
      vtkglew-9.2-gd.lib
      vtkhdf5-9.2-gd.lib
      vtkhdf5_hl-9.2-gd.lib
      vtkImagingColor-9.2-gd.lib
      vtkImagingCore-9.2-gd.lib
      vtkImagingFourier-9.2-gd.lib
      vtkImagingGeneral-9.2-gd.lib
      vtkImagingHybrid-9.2-gd.lib
      vtkImagingMath-9.2-gd.lib
      vtkImagingMorphological-9.2-gd.lib
      vtkImagingSources-9.2-gd.lib
      vtkImagingStatistics-9.2-gd.lib
      vtkImagingStencil-9.2-gd.lib
      vtkInfovisCore-9.2-gd.lib
      vtkInfovisLayout-9.2-gd.lib
      vtkInteractionImage-9.2-gd.lib
      vtkInteractionStyle-9.2-gd.lib
      vtkInteractionWidgets-9.2-gd.lib
      vtkIOAMR-9.2-gd.lib
      vtkIOAsynchronous-9.2-gd.lib
      vtkIOCGNSReader-9.2-gd.lib
      vtkIOChemistry-9.2-gd.lib
      vtkIOCityGML-9.2-gd.lib
      vtkIOCONVERGECFD-9.2-gd.lib
      vtkIOCore-9.2-gd.lib
      vtkIOEnSight-9.2-gd.lib
      vtkIOExodus-9.2-gd.lib
      vtkIOExport-9.2-gd.lib
      vtkIOExportGL2PS-9.2-gd.lib
      vtkIOExportPDF-9.2-gd.lib
      vtkIOGeometry-9.2-gd.lib
      vtkIOHDF-9.2-gd.lib
      vtkIOImage-9.2-gd.lib
      vtkIOImport-9.2-gd.lib
      vtkIOInfovis-9.2-gd.lib
      vtkIOIOSS-9.2-gd.lib
      vtkIOLegacy-9.2-gd.lib
      vtkIOLSDyna-9.2-gd.lib
      vtkIOMINC-9.2-gd.lib
      vtkIOMotionFX-9.2-gd.lib
      vtkIOMovie-9.2-gd.lib
      vtkIONetCDF-9.2-gd.lib
      vtkIOOggTheora-9.2-gd.lib
      vtkIOParallel-9.2-gd.lib
      vtkIOParallelXML-9.2-gd.lib
      vtkIOPLY-9.2-gd.lib
      vtkIOSegY-9.2-gd.lib
      vtkIOSQL-9.2-gd.lib
      vtkioss-9.2-gd.lib
      vtkIOTecplotTable-9.2-gd.lib
      vtkIOVeraOut-9.2-gd.lib
      vtkIOVideo-9.2-gd.lib
      vtkIOXML-9.2-gd.lib
      vtkIOXMLParser-9.2-gd.lib
      vtkjpeg-9.2-gd.lib
      vtkjsoncpp-9.2-gd.lib
      vtkkissfft-9.2-gd.lib
      vtklibharu-9.2-gd.lib
      vtklibproj-9.2-gd.lib
      vtklibxml2-9.2-gd.lib
      vtkloguru-9.2-gd.lib
      vtklz4-9.2-gd.lib
      vtklzma-9.2-gd.lib
      vtkmetaio-9.2-gd.lib
      vtknetcdf-9.2-gd.lib
      vtkogg-9.2-gd.lib
      vtkParallelCore-9.2-gd.lib
      vtkParallelDIY-9.2-gd.lib
      vtkpng-9.2-gd.lib
      vtkpugixml-9.2-gd.lib
      vtkRenderingAnnotation-9.2-gd.lib
      vtkRenderingContext2D-9.2-gd.lib
      vtkRenderingContextOpenGL2-9.2-gd.lib
      vtkRenderingCore-9.2-gd.lib
      vtkRenderingFreeType-9.2-gd.lib
      vtkRenderingGL2PSOpenGL2-9.2-gd.lib
      vtkRenderingImage-9.2-gd.lib
      vtkRenderingLabel-9.2-gd.lib
      vtkRenderingLOD-9.2-gd.lib
      vtkRenderingOpenGL2-9.2-gd.lib
      vtkRenderingSceneGraph-9.2-gd.lib
      vtkRenderingUI-9.2-gd.lib
      vtkRenderingVolume-9.2-gd.lib
      vtkRenderingVolumeOpenGL2-9.2-gd.lib
      vtkRenderingVtkJS-9.2-gd.lib
      vtksqlite-9.2-gd.lib
      vtksys-9.2-gd.lib
      vtkTestingRendering-9.2-gd.lib
      vtktheora-9.2-gd.lib
      vtktiff-9.2-gd.lib
      vtkverdict-9.2-gd.lib
      vtkViewsContext2D-9.2-gd.lib
      vtkViewsCore-9.2-gd.lib
      vtkViewsInfovis-9.2-gd.lib
      vtkWrappingTools-9.2-gd.lib
      vtkzlib-9.2-gd.lib
      
      
      1. Release模式如下:
      pcl_common.lib
      pcl_features.lib
      pcl_filters.lib
      pcl_io.lib
      pcl_io_ply.lib
      pcl_kdtree.lib
      pcl_keypoints.lib
      pcl_ml.lib
      pcl_octree.lib
      pcl_outofcore.lib
      pcl_people.lib
      pcl_recognition.lib
      pcl_registration.lib
      pcl_sample_consensus.lib
      pcl_search.lib
      pcl_segmentation.lib
      pcl_stereo.lib
      pcl_surface.lib
      pcl_tracking.lib
      pcl_visualization.lib
      vtkcgns-9.2.lib
      vtkChartsCore-9.2.lib
      vtkCommonColor-9.2.lib
      vtkCommonComputationalGeometry-9.2.lib
      vtkCommonCore-9.2.lib
      vtkCommonDataModel-9.2.lib
      vtkCommonExecutionModel-9.2.lib
      vtkCommonMath-9.2.lib
      vtkCommonMisc-9.2.lib
      vtkCommonSystem-9.2.lib
      vtkCommonTransforms-9.2.lib
      vtkDICOMParser-9.2.lib
      vtkDomainsChemistry-9.2.lib
      vtkDomainsChemistryOpenGL2-9.2.lib
      vtkdoubleconversion-9.2.lib
      vtkexodusII-9.2.lib
      vtkexpat-9.2.lib
      vtkFiltersAMR-9.2.lib
      vtkFiltersCore-9.2.lib
      vtkFiltersExtraction-9.2.lib
      vtkFiltersFlowPaths-9.2.lib
      vtkFiltersGeneral-9.2.lib
      vtkFiltersGeneric-9.2.lib
      vtkFiltersGeometry-9.2.lib
      vtkFiltersHybrid-9.2.lib
      vtkFiltersHyperTree-9.2.lib
      vtkFiltersImaging-9.2.lib
      vtkFiltersModeling-9.2.lib
      vtkFiltersParallel-9.2.lib
      vtkFiltersParallelImaging-9.2.lib
      vtkFiltersPoints-9.2.lib
      vtkFiltersProgrammable-9.2.lib
      vtkFiltersSelection-9.2.lib
      vtkFiltersSMP-9.2.lib
      vtkFiltersSources-9.2.lib
      vtkFiltersStatistics-9.2.lib
      vtkFiltersTexture-9.2.lib
      vtkFiltersTopology-9.2.lib
      vtkFiltersVerdict-9.2.lib
      vtkfmt-9.2.lib
      vtkfreetype-9.2.lib
      vtkGeovisCore-9.2.lib
      vtkgl2ps-9.2.lib
      vtkglew-9.2.lib
      vtkhdf5-9.2.lib
      vtkhdf5_hl-9.2.lib
      vtkImagingColor-9.2.lib
      vtkImagingCore-9.2.lib
      vtkImagingFourier-9.2.lib
      vtkImagingGeneral-9.2.lib
      vtkImagingHybrid-9.2.lib
      vtkImagingMath-9.2.lib
      vtkImagingMorphological-9.2.lib
      vtkImagingSources-9.2.lib
      vtkImagingStatistics-9.2.lib
      vtkImagingStencil-9.2.lib
      vtkInfovisCore-9.2.lib
      vtkInfovisLayout-9.2.lib
      vtkInteractionImage-9.2.lib
      vtkInteractionStyle-9.2.lib
      vtkInteractionWidgets-9.2.lib
      vtkIOAMR-9.2.lib
      vtkIOAsynchronous-9.2.lib
      vtkIOCesium3DTiles-9.2.lib
      vtkIOCGNSReader-9.2.lib
      vtkIOChemistry-9.2.lib
      vtkIOCityGML-9.2.lib
      vtkIOCONVERGECFD-9.2.lib
      vtkIOCore-9.2.lib
      vtkIOEnSight-9.2.lib
      vtkIOExodus-9.2.lib
      vtkIOExport-9.2.lib
      vtkIOExportGL2PS-9.2.lib
      vtkIOExportPDF-9.2.lib
      vtkIOGeometry-9.2.lib
      vtkIOHDF-9.2.lib
      vtkIOImage-9.2.lib
      vtkIOImport-9.2.lib
      vtkIOInfovis-9.2.lib
      vtkIOIOSS-9.2.lib
      vtkIOLegacy-9.2.lib
      vtkIOLSDyna-9.2.lib
      vtkIOMINC-9.2.lib
      vtkIOMotionFX-9.2.lib
      vtkIOMovie-9.2.lib
      vtkIONetCDF-9.2.lib
      vtkIOOggTheora-9.2.lib
      vtkIOParallel-9.2.lib
      vtkIOParallelXML-9.2.lib
      vtkIOPLY-9.2.lib
      vtkIOSegY-9.2.lib
      vtkIOSQL-9.2.lib
      vtkioss-9.2.lib
      vtkIOTecplotTable-9.2.lib
      vtkIOVeraOut-9.2.lib
      vtkIOVideo-9.2.lib
      vtkIOXML-9.2.lib
      vtkIOXMLParser-9.2.lib
      vtkjpeg-9.2.lib
      vtkjsoncpp-9.2.lib
      vtkkissfft-9.2.lib
      vtklibharu-9.2.lib
      vtklibproj-9.2.lib
      vtklibxml2-9.2.lib
      vtkloguru-9.2.lib
      vtklz4-9.2.lib
      vtklzma-9.2.lib
      vtkmetaio-9.2.lib
      vtknetcdf-9.2.lib
      vtkogg-9.2.lib
      vtkParallelCore-9.2.lib
      vtkParallelDIY-9.2.lib
      vtkpng-9.2.lib
      vtkpugixml-9.2.lib
      vtkRenderingAnnotation-9.2.lib
      vtkRenderingContext2D-9.2.lib
      vtkRenderingContextOpenGL2-9.2.lib
      vtkRenderingCore-9.2.lib
      vtkRenderingFreeType-9.2.lib
      vtkRenderingGL2PSOpenGL2-9.2.lib
      vtkRenderingHyperTreeGrid-9.2.lib
      vtkRenderingImage-9.2.lib
      vtkRenderingLabel-9.2.lib
      vtkRenderingLICOpenGL2-9.2.lib
      vtkRenderingLOD-9.2.lib
      vtkRenderingOpenGL2-9.2.lib
      vtkRenderingSceneGraph-9.2.lib
      vtkRenderingUI-9.2.lib
      vtkRenderingVolume-9.2.lib
      vtkRenderingVolumeOpenGL2-9.2.lib
      vtkRenderingVtkJS-9.2.lib
      vtksqlite-9.2.lib
      vtksys-9.2.lib
      vtkTestingRendering-9.2.lib
      vtktheora-9.2.lib
      vtktiff-9.2.lib
      vtkverdict-9.2.lib
      vtkViewsContext2D-9.2.lib
      vtkViewsCore-9.2.lib
      vtkViewsInfovis-9.2.lib
      vtkWrappingTools-9.2.lib
      vtkzlib-9.2.lib
      
  4. 将main.cpp文件更改为如下内容,运行不报错则PLC环境搭建成功。
#include <iostream>
#include <vector>
#include <ctime>
#include <pcl/point_cloud.h>
#include <pcl/octree/octree.h>
#include <boost/thread/thread.hpp>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;

int main(int argc, char** argv)
{
	srand((unsigned int)time(NULL));
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	
	// 创建点云数据
	cloud->width = 1000;
	cloud->height = 1;
	cloud->points.resize(cloud->width * cloud->height);
	for (size_t i = 0; i < cloud->points.size(); ++i)
	{
		cloud->points[i].x = 1024.0f * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].y = 1024.0f * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].z = 1024.0f * rand() / (RAND_MAX + 1.0f);
	}

	pcl::octree::OctreePointCloudSearch<pcl::PointXYZ> octree(0.1);
	octree.setInputCloud(cloud);
	octree.addPointsFromInputCloud();
	pcl::PointXYZ searchPoint;
	searchPoint.x = 1024.0f * rand() / (RAND_MAX + 1.0f);
	searchPoint.y = 1024.0f * rand() / (RAND_MAX + 1.0f);
	searchPoint.z = 1024.0f * rand() / (RAND_MAX + 1.0f);

	//半径内近邻搜索
	vector<int>pointIdxRadiusSearch;
	vector<float>pointRadiusSquaredDistance;
	float radius = 256.0f * rand() / (RAND_MAX + 1.0f);
	cout << "Neighbors within radius search at (" << searchPoint.x
		<< " " << searchPoint.y
		<< " " << searchPoint.z
		<< ") with radius=" << radius << endl;
	if (octree.radiusSearch(searchPoint, radius, pointIdxRadiusSearch, pointRadiusSquaredDistance) > 0)
	{
		for (size_t i = 0; i < pointIdxRadiusSearch.size(); ++i)
			cout << "    " << cloud->points[pointIdxRadiusSearch[i]].x
			<< " " << cloud->points[pointIdxRadiusSearch[i]].y
			<< " " << cloud->points[pointIdxRadiusSearch[i]].z
			<< " (squared distance: " << pointRadiusSquaredDistance[i] << ")" << endl;
	}
	// 初始化点云可视化对象
	boost::shared_ptr<pcl::visualization::PCLVisualizer>viewer(new pcl::visualization::PCLVisualizer("显示点云"));
	viewer->setBackgroundColor(0, 0, 0);  //设置背景颜色为黑色
	// 对点云着色可视化 (red).
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>target_color(cloud, 255, 0, 0);
	viewer->addPointCloud<pcl::PointXYZ>(cloud, target_color, "target cloud");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "target cloud");

	// 等待直到可视化窗口关闭
	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(1000));
	}

	return (0);
}

问题

  1. 对于MFC应用,遇到error C2661: “pcl::PointCloud<pcl::PointXYZ>::operator new”: 没有重载函数接受 3 个参数的问题,需要将xxxDlg.cpp中的如下内容注释掉
//#ifdef _DEBUG
//#define new DEBUG_NEW
//#endif