
一、下载安装VS2022打开下面网址Downloads Keys - Visual Studio Subscriptions选择下载Visual Studio Enterprise 2022更改安装的位置选择一些安装模块例如【使用C的桌面开发】二、下载安装PCL1.15.11、打开PCL的GitHubRelease PCL 1.15.1 · PointCloudLibrary/pcl · GitHub2、下载两个文件文件1PCL-1.15.1-AllInOne-msvc2022-win64.exe文件2pcl-1.15.1-pdb-msvc2022-win64.zip3、安装PCL-1.15.1-AllInOne-msvc2022-win64.exe1选择Add PCL to the system PATH for all users2安装目录改为除C盘以外的位置3选定安装的组件选择所有4、重新安装OpenNI21在PCL 1.15.1\3rdParty\OpenNI2目录下双击安装包OpenNI-Windows-x64-2.22点击 【Remove】卸载C盘目录下的OpenNI然后重新选择新的安装路径进行安装。新的安装路径放在跟PCL 1.15.1相同目录下的3rdParty\OpenNI25、安装pcl-1.15.1-pdb-msvc2022-win64.zip1解压pcl-1.15.1-pdb-msvc2022-win64.zip2将解压出来的.pdb文件拷贝到PCL 1.15.1\bin目录下5、添加环境变量添加以下环境变量D:\Program Files\PCL 1.15.1\binD:\Program Files\PCL 1.15.1\3rdParty\VTK\binD:\Program Files\PCL 1.15.1\3rdParty\FLANN\binD:\Program Files\PCL 1.15.1\3rdParty\Qhull\binD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\ToolsD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\RedistD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\IncludeD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\Lib三、配置VS2022的开发环境1、创建空项目2、调出【属性管理器 】3、添加新项目属性表以【Debug|x64】为例右键Debug|x64选择【添加新项目属性表】4、在【VC目录】——【包含目录】下添加头文件夹包含目录如下D:\Program Files\PCL 1.15.1\include\pcl-1.15\pcl\ioD:\Program Files\PCL 1.15.1\include\pcl-1.15D:\Program Files\PCL 1.15.1\includeD:\Program Files\PCL 1.15.1D:\Program Files\PCL 1.15.1\3rdParty\Boost\include\boost-1_87D:\Program Files\PCL 1.15.1\3rdParty\Eigen3\include\eigen3D:\Program Files\PCL 1.15.1\3rdParty\Eigen3\include\eigen3\EigenD:\Program Files\PCL 1.15.1\3rdParty\Eigen3\include\eigen3\unsupportedD:\Program Files\PCL 1.15.1\3rdParty\Eigen3\include\eigen3\unsupported\EigenD:\Program Files\PCL 1.15.1\3rdParty\FLANN\include\flannD:\Program Files\PCL 1.15.1\3rdParty\FLANN\includeD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\IncludeD:\Program Files\PCL 1.15.1\3rdParty\Qhull\include\libqhullcppD:\Program Files\PCL 1.15.1\3rdParty\Qhull\include\libqhull_rD:\Program Files\PCL 1.15.1\3rdParty\Qhull\include\libqhullD:\Program Files\PCL 1.15.1\3rdParty\Qhull\includeD:\Program Files\PCL 1.15.1\3rdParty\VTK\includeD:\Program Files\PCL 1.15.1\3rdParty\VTK\include\vtk-9.45、在【VC目录】——【库目录】下添加lib文件夹lib文件夹如下D:\Program Files\PCL 1.15.1\libD:\Program Files\PCL 1.15.1\3rdParty\Boost\libD:\Program Files\PCL 1.15.1\3rdParty\FLANN\libD:\Program Files\PCL 1.15.1\3rdParty\OpenNI2\LibD:\Program Files\PCL 1.15.1\3rdParty\Qhull\libD:\Program Files\PCL 1.15.1\3rdParty\VTK\lib6、在【链接器】——【输入】——【附加依赖项】下添加lib文件1注意①如果是debug模式则添加debug的lib文件如果是release模式则添加 release的lib文件。②需要添加PCL 1.15.1\lib目录和PCL 1.15.1\3rdParty\VTK\lib 里面的lib文件。2导出lib文件名的方式①导出debug相关的lib文件名在lib文件目录下打开cmd输入dir/b *d.lib debug.txt会在lib文件目录下生成debug.txt文件里面保存了debug相关的lib文件名②导出release相关 的lib文件名在lib文件目录下打开cmd输入dir /b | findstr /R /E /I .*[^d]\.lib$ release.txt会在lib文件目录下生成release.txt文件里面保存了release相关的lib文件名3debug文件如下pcl_commond.libpcl_featuresd.libpcl_filtersd.libpcl_iod.libpcl_io_plyd.libpcl_kdtreed.libpcl_keypointsd.libpcl_mld.libpcl_octreed.libpcl_outofcored.libpcl_peopled.libpcl_recognitiond.libpcl_registrationd.libpcl_sample_consensusd.libpcl_searchd.libpcl_segmentationd.libpcl_stereod.libpcl_surfaced.libpcl_trackingd.libpcl_visualizationd.libvtkcgns-9.4-gd.libvtkChartsCore-9.4-gd.libvtkCommonColor-9.4-gd.libvtkCommonComputationalGeometry-9.4-gd.libvtkCommonCore-9.4-gd.libvtkCommonDataModel-9.4-gd.libvtkCommonExecutionModel-9.4-gd.libvtkCommonMath-9.4-gd.libvtkCommonMisc-9.4-gd.libvtkCommonSystem-9.4-gd.libvtkCommonTransforms-9.4-gd.libvtkDICOMParser-9.4-gd.libvtkDomainsChemistry-9.4-gd.libvtkDomainsChemistryOpenGL2-9.4-gd.libvtkdoubleconversion-9.4-gd.libvtkexodusII-9.4-gd.libvtkexpat-9.4-gd.libvtkFiltersAMR-9.4-gd.libvtkFiltersCellGrid-9.4-gd.libvtkFiltersCore-9.4-gd.libvtkFiltersExtraction-9.4-gd.libvtkFiltersFlowPaths-9.4-gd.libvtkFiltersGeneral-9.4-gd.libvtkFiltersGeneric-9.4-gd.libvtkFiltersGeometry-9.4-gd.libvtkFiltersGeometryPreview-9.4-gd.libvtkFiltersHybrid-9.4-gd.libvtkFiltersHyperTree-9.4-gd.libvtkFiltersImaging-9.4-gd.libvtkFiltersModeling-9.4-gd.libvtkFiltersParallel-9.4-gd.libvtkFiltersParallelImaging-9.4-gd.libvtkFiltersPoints-9.4-gd.libvtkFiltersProgrammable-9.4-gd.libvtkFiltersReduction-9.4-gd.libvtkFiltersSelection-9.4-gd.libvtkFiltersSMP-9.4-gd.libvtkFiltersSources-9.4-gd.libvtkFiltersStatistics-9.4-gd.libvtkFiltersTemporal-9.4-gd.libvtkFiltersTensor-9.4-gd.libvtkFiltersTexture-9.4-gd.libvtkFiltersTopology-9.4-gd.libvtkFiltersVerdict-9.4-gd.libvtkfmt-9.4-gd.libvtkfreetype-9.4-gd.libvtkGeovisCore-9.4-gd.libvtkgl2ps-9.4-gd.libvtkglad-9.4-gd.libvtkhdf5-9.4-gd.libvtkhdf5_hl-9.4-gd.libvtkImagingColor-9.4-gd.libvtkImagingCore-9.4-gd.libvtkImagingFourier-9.4-gd.libvtkImagingGeneral-9.4-gd.libvtkImagingHybrid-9.4-gd.libvtkImagingMath-9.4-gd.libvtkImagingMorphological-9.4-gd.libvtkImagingSources-9.4-gd.libvtkImagingStatistics-9.4-gd.libvtkImagingStencil-9.4-gd.libvtkInfovisCore-9.4-gd.libvtkInfovisLayout-9.4-gd.libvtkInteractionImage-9.4-gd.libvtkInteractionStyle-9.4-gd.libvtkInteractionWidgets-9.4-gd.libvtkIOAMR-9.4-gd.libvtkIOAsynchronous-9.4-gd.libvtkIOCellGrid-9.4-gd.libvtkIOCesium3DTiles-9.4-gd.libvtkIOCGNSReader-9.4-gd.libvtkIOChemistry-9.4-gd.libvtkIOCityGML-9.4-gd.libvtkIOCONVERGECFD-9.4-gd.libvtkIOCore-9.4-gd.libvtkIOEngys-9.4-gd.libvtkIOEnSight-9.4-gd.libvtkIOERF-9.4-gd.libvtkIOExodus-9.4-gd.libvtkIOExport-9.4-gd.libvtkIOExportGL2PS-9.4-gd.libvtkIOExportPDF-9.4-gd.libvtkIOFDS-9.4-gd.libvtkIOFLUENTCFF-9.4-gd.libvtkIOGeometry-9.4-gd.libvtkIOHDF-9.4-gd.libvtkIOImage-9.4-gd.libvtkIOImport-9.4-gd.libvtkIOInfovis-9.4-gd.libvtkIOIOSS-9.4-gd.libvtkIOLegacy-9.4-gd.libvtkIOLSDyna-9.4-gd.libvtkIOMINC-9.4-gd.libvtkIOMotionFX-9.4-gd.libvtkIOMovie-9.4-gd.libvtkIONetCDF-9.4-gd.libvtkIOOggTheora-9.4-gd.libvtkIOParallel-9.4-gd.libvtkIOParallelXML-9.4-gd.libvtkIOPLY-9.4-gd.libvtkIOSegY-9.4-gd.libvtkIOSQL-9.4-gd.libvtkioss-9.4-gd.libvtkIOTecplotTable-9.4-gd.libvtkIOVeraOut-9.4-gd.libvtkIOVideo-9.4-gd.libvtkIOXML-9.4-gd.libvtkIOXMLParser-9.4-gd.libvtkjpeg-9.4-gd.libvtkjsoncpp-9.4-gd.libvtkkissfft-9.4-gd.libvtklibharu-9.4-gd.libvtklibproj-9.4-gd.libvtklibxml2-9.4-gd.libvtkloguru-9.4-gd.libvtklz4-9.4-gd.libvtklzma-9.4-gd.libvtkmetaio-9.4-gd.libvtknetcdf-9.4-gd.libvtkogg-9.4-gd.libvtkParallelCore-9.4-gd.libvtkParallelDIY-9.4-gd.libvtkpng-9.4-gd.libvtkpugixml-9.4-gd.libvtkRenderingAnnotation-9.4-gd.libvtkRenderingCellGrid-9.4-gd.libvtkRenderingContext2D-9.4-gd.libvtkRenderingContextOpenGL2-9.4-gd.libvtkRenderingCore-9.4-gd.libvtkRenderingFreeType-9.4-gd.libvtkRenderingGL2PSOpenGL2-9.4-gd.libvtkRenderingHyperTreeGrid-9.4-gd.libvtkRenderingImage-9.4-gd.libvtkRenderingLabel-9.4-gd.libvtkRenderingLICOpenGL2-9.4-gd.libvtkRenderingLOD-9.4-gd.libvtkRenderingOpenGL2-9.4-gd.libvtkRenderingSceneGraph-9.4-gd.libvtkRenderingUI-9.4-gd.libvtkRenderingVolume-9.4-gd.libvtkRenderingVolumeOpenGL2-9.4-gd.libvtkRenderingVtkJS-9.4-gd.libvtksqlite-9.4-gd.libvtksys-9.4-gd.libvtkTestingCore-9.4-gd.libvtkTestingRendering-9.4-gd.libvtktheora-9.4-gd.libvtktiff-9.4-gd.libvtktoken-9.4-gd.libvtkverdict-9.4-gd.libvtkViewsContext2D-9.4-gd.libvtkViewsCore-9.4-gd.libvtkViewsInfovis-9.4-gd.libvtkWrappingTools-9.4-gd.libvtkzlib-9.4-gd.lib4release文件如下vtkcgns-9.4.libvtkChartsCore-9.4.libvtkCommonColor-9.4.libvtkCommonComputationalGeometry-9.4.libvtkCommonCore-9.4.libvtkCommonDataModel-9.4.libvtkCommonExecutionModel-9.4.libvtkCommonMath-9.4.libvtkCommonMisc-9.4.libvtkCommonSystem-9.4.libvtkCommonTransforms-9.4.libvtkDICOMParser-9.4.libvtkDomainsChemistry-9.4.libvtkDomainsChemistryOpenGL2-9.4.libvtkdoubleconversion-9.4.libvtkexodusII-9.4.libvtkexpat-9.4.libvtkFiltersAMR-9.4.libvtkFiltersCellGrid-9.4.libvtkFiltersCore-9.4.libvtkFiltersExtraction-9.4.libvtkFiltersFlowPaths-9.4.libvtkFiltersGeneral-9.4.libvtkFiltersGeneric-9.4.libvtkFiltersGeometry-9.4.libvtkFiltersGeometryPreview-9.4.libvtkFiltersHybrid-9.4.libvtkFiltersHyperTree-9.4.libvtkFiltersImaging-9.4.libvtkFiltersModeling-9.4.libvtkFiltersParallel-9.4.libvtkFiltersParallelImaging-9.4.libvtkFiltersPoints-9.4.libvtkFiltersProgrammable-9.4.libvtkFiltersReduction-9.4.libvtkFiltersSelection-9.4.libvtkFiltersSMP-9.4.libvtkFiltersSources-9.4.libvtkFiltersStatistics-9.4.libvtkFiltersTemporal-9.4.libvtkFiltersTensor-9.4.libvtkFiltersTexture-9.4.libvtkFiltersTopology-9.4.libvtkFiltersVerdict-9.4.libvtkfmt-9.4.libvtkfreetype-9.4.libvtkGeovisCore-9.4.libvtkgl2ps-9.4.libvtkglad-9.4.libvtkhdf5-9.4.libvtkhdf5_hl-9.4.libvtkImagingColor-9.4.libvtkImagingCore-9.4.libvtkImagingFourier-9.4.libvtkImagingGeneral-9.4.libvtkImagingHybrid-9.4.libvtkImagingMath-9.4.libvtkImagingMorphological-9.4.libvtkImagingSources-9.4.libvtkImagingStatistics-9.4.libvtkImagingStencil-9.4.libvtkInfovisCore-9.4.libvtkInfovisLayout-9.4.libvtkInteractionImage-9.4.libvtkInteractionStyle-9.4.libvtkInteractionWidgets-9.4.libvtkIOAMR-9.4.libvtkIOAsynchronous-9.4.libvtkIOCellGrid-9.4.libvtkIOCesium3DTiles-9.4.libvtkIOCGNSReader-9.4.libvtkIOChemistry-9.4.libvtkIOCityGML-9.4.libvtkIOCONVERGECFD-9.4.libvtkIOCore-9.4.libvtkIOEngys-9.4.libvtkIOEnSight-9.4.libvtkIOERF-9.4.libvtkIOExodus-9.4.libvtkIOExport-9.4.libvtkIOExportGL2PS-9.4.libvtkIOExportPDF-9.4.libvtkIOFDS-9.4.libvtkIOFLUENTCFF-9.4.libvtkIOGeometry-9.4.libvtkIOHDF-9.4.libvtkIOImage-9.4.libvtkIOImport-9.4.libvtkIOInfovis-9.4.libvtkIOIOSS-9.4.libvtkIOLegacy-9.4.libvtkIOLSDyna-9.4.libvtkIOMINC-9.4.libvtkIOMotionFX-9.4.libvtkIOMovie-9.4.libvtkIONetCDF-9.4.libvtkIOOggTheora-9.4.libvtkIOParallel-9.4.libvtkIOParallelXML-9.4.libvtkIOPLY-9.4.libvtkIOSegY-9.4.libvtkIOSQL-9.4.libvtkioss-9.4.libvtkIOTecplotTable-9.4.libvtkIOVeraOut-9.4.libvtkIOVideo-9.4.libvtkIOXML-9.4.libvtkIOXMLParser-9.4.libvtkjpeg-9.4.libvtkjsoncpp-9.4.libvtkkissfft-9.4.libvtklibharu-9.4.libvtklibproj-9.4.libvtklibxml2-9.4.libvtkloguru-9.4.libvtklz4-9.4.libvtklzma-9.4.libvtkmetaio-9.4.libvtknetcdf-9.4.libvtkogg-9.4.libvtkParallelCore-9.4.libvtkParallelDIY-9.4.libvtkpng-9.4.libvtkpugixml-9.4.libvtkRenderingAnnotation-9.4.libvtkRenderingCellGrid-9.4.libvtkRenderingContext2D-9.4.libvtkRenderingContextOpenGL2-9.4.libvtkRenderingCore-9.4.libvtkRenderingFreeType-9.4.libvtkRenderingGL2PSOpenGL2-9.4.libvtkRenderingHyperTreeGrid-9.4.libvtkRenderingImage-9.4.libvtkRenderingLabel-9.4.libvtkRenderingLICOpenGL2-9.4.libvtkRenderingLOD-9.4.libvtkRenderingOpenGL2-9.4.libvtkRenderingSceneGraph-9.4.libvtkRenderingUI-9.4.libvtkRenderingVolume-9.4.libvtkRenderingVolumeOpenGL2-9.4.libvtkRenderingVtkJS-9.4.libvtksqlite-9.4.libvtksys-9.4.libvtkTestingCore-9.4.libvtkTestingRendering-9.4.libvtktheora-9.4.libvtktiff-9.4.libvtktoken-9.4.libvtkverdict-9.4.libvtkViewsContext2D-9.4.libvtkViewsCore-9.4.libvtkViewsInfovis-9.4.libvtkWrappingTools-9.4.libvtkzlib-9.4.libpcl_common.libpcl_features.libpcl_filters.libpcl_io.libpcl_io_ply.libpcl_kdtree.libpcl_keypoints.libpcl_ml.libpcl_octree.libpcl_outofcore.libpcl_people.libpcl_recognition.libpcl_registration.libpcl_sample_consensus.libpcl_search.libpcl_segmentation.libpcl_stereo.libpcl_surface.libpcl_tracking.libpcl_visualization.lib7、将SDL检查设置为否8、设置【预处理器定义】内容如下BOOST_USE_WINDOWS_HNOMINMAX_CRT_SECURE_NO_DEPRECATE9、启用增强指令集设置为【高级矢量扩展(x86/x64)(/arch:AVX)】注意如果未启动增强指令集则会出现如下报错#error: Potential runtime error due to aligned malloc mismatch! You likely have to compile your code with AVX enabled or define EIGEN_MAX_ALIGN_BYTES32 (to silence this message at your own risk, define PCL_SILENCE_MALLOC_WARNING1)