win+vs2022+pcl 1.13.0 all in one 安装
1.下载pcl1.13.0(这个网址一直是最新版本,不同时间打开版本不同)
https://github.com/PointCloudLibrary/pcl/releases
ps: 两个文件均要下载。第一个安装完后,第二个解压缩,所有内容拷贝到pcl1.13.0/bin 下面。
pdb是debug时必须用的文件,没有相应的pdb支持调试时会报错。同时lib库必须用调试的不能用release版本。
ps1: 安装时最好安装路径不要设置在c:/programefile默认路径 可以放在d盘之类。否则后面设置引用依赖的时候dir /b *.lib>0.txt这样的语句会拒绝执行。
2. 安装时要设置环境变量如下。
3. 安装完后需要设置环境变量。
系统环境变量里设置bin文件路径 不是设置lib include之类内容
C:\Program Files\PCL 1.13.0\bin; C:\Program Files\PCL 1.13.0\3rdParty\VTK\bin; C:\Program Files\PCL 1.13.0\3rdParty\FLANN\bin; C:\Program Files\PCL 1.13.0\3rdParty\Qhull\bin; OPENNI2_REDIST64; C:\Program Files\OpenNI2\Tools;
PS: OPENNI2_REDIST64; 这行这样写是因为openni在安装时已经设置这个系统变量名(如下图)。所以在这里引用即可。如果没有这个设置,也按其他的直接输入目录地址即可。
3. vs2022安装
这个必须安装 不然没法创建c++空项目
这项也必须装,不然<iostream>找不到,主要是win sdk 别问我怎么知道的……(
4. 创建空项目
右键单击 项目名---》属性 菜单
会打开如下页面。
- 第1项选中 编译平台 x64
- 第2项配置include路径如下
C:\Program Files\PCL 1.13.0\3rdParty\Qhull\include;C:\Program Files\PCL 1.13.0\3rdParty\FLANN\include;C:\Program Files\PCL 1.13.0\3rdParty\VTK\include\vtk-9.2;C:\Program Files\PCL 1.13.0\3rdParty\Boost\include\boost-1_80;C:\Program Files\PCL 1.13.0\3rdParty\Eigen\eigen3;C:\Program Files\PCL 1.13.0\include\pcl-1.13
- 第3项配置lib目录
C:\Program Files\PCL 1.13.0\lib;C:\Program Files\PCL 1.13.0\3rdParty\Boost\lib;C:\Program Files\PCL 1.13.0\3rdParty\FLANN\lib;C:\Program Files\PCL 1.13.0\3rdParty\Qhull\lib;C:\Program Files\PCL 1.13.0\3rdParty\VTK\lib;C:\Program Files\OpenNI2\Lib
6. 源目录下新建cpp项目 ps:必须建了cpp项目后面的c/c++预编译器才会在菜单出现。不然没有
7. 配置预处理器定义
配置以下两项内容
_SCL_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS
8.设置附加依赖项
处理文件名时可以用excel处理文件名,通过筛选分开debug和release不同版本。用手分实在太慢了。
pcl 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_recognitiond.lib
pcl_peopled.lib
pcl_registrationd.lib
pcl_sample_consensusd.lib
pcl_searchd.lib
pcl_stereod.lib
pcl_trackingd.lib
pcl_visualizationd.lib
pcl_segmentationd.lib
pcl_surfaced.lib
boost debug版
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_fiber-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_stacktrace_noop-vc143-mt-gd-x64-1_80.lib libboost_stacktrace_windbg-vc143-mt-gd-x64-1_80.lib libboost_stacktrace_windbg_cached-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
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
vtkIOCesium3DTiles-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
vtkRenderingHyperTreeGrid-9.2-gd.lib
vtkRenderingImage-9.2-gd.lib
vtkRenderingLabel-9.2-gd.lib
vtkRenderingLICOpenGL2-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
flann qhull NI2 debug版
flann-gd.lib flann_cpp-gd.lib flann_cpp_s-gd.lib flann_s-gd.lib
qhullcpp_d.lib qhullstatic_d.lib qhullstatic_rd.lib qhull_rd.lib
OpenNI2.lib
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
boost release版本
libboost_atomic-vc143-mt-x64-1_80.lib libboost_bzip2-vc143-mt-x64-1_80.lib libboost_chrono-vc143-mt-x64-1_80.lib libboost_container-vc143-mt-x64-1_80.lib libboost_context-vc143-mt-x64-1_80.lib libboost_contract-vc143-mt-x64-1_80.lib libboost_coroutine-vc143-mt-x64-1_80.lib libboost_date_time-vc143-mt-x64-1_80.lib libboost_exception-vc143-mt-x64-1_80.lib libboost_fiber-vc143-mt-x64-1_80.lib libboost_filesystem-vc143-mt-x64-1_80.lib libboost_graph-vc143-mt-x64-1_80.lib libboost_graph_parallel-vc143-mt-x64-1_80.lib libboost_iostreams-vc143-mt-x64-1_80.lib libboost_json-vc143-mt-x64-1_80.lib libboost_locale-vc143-mt-x64-1_80.lib libboost_log-vc143-mt-x64-1_80.lib libboost_log_setup-vc143-mt-x64-1_80.lib libboost_math_c99-vc143-mt-x64-1_80.lib libboost_math_c99f-vc143-mt-x64-1_80.lib libboost_math_c99l-vc143-mt-x64-1_80.lib libboost_math_tr1-vc143-mt-x64-1_80.lib libboost_math_tr1f-vc143-mt-x64-1_80.lib libboost_math_tr1l-vc143-mt-x64-1_80.lib libboost_mpi-vc143-mt-x64-1_80.lib libboost_nowide-vc143-mt-x64-1_80.lib libboost_numpy310-vc143-mt-x64-1_80.lib libboost_prg_exec_monitor-vc143-mt-x64-1_80.lib libboost_program_options-vc143-mt-x64-1_80.lib libboost_python310-vc143-mt-x64-1_80.lib libboost_random-vc143-mt-x64-1_80.lib libboost_regex-vc143-mt-x64-1_80.lib libboost_serialization-vc143-mt-x64-1_80.lib libboost_stacktrace_noop-vc143-mt-x64-1_80.lib libboost_stacktrace_windbg-vc143-mt-x64-1_80.lib libboost_stacktrace_windbg_cached-vc143-mt-x64-1_80.lib libboost_system-vc143-mt-x64-1_80.lib libboost_test_exec_monitor-vc143-mt-x64-1_80.lib libboost_thread-vc143-mt-x64-1_80.lib libboost_timer-vc143-mt-x64-1_80.lib libboost_type_erasure-vc143-mt-x64-1_80.lib libboost_unit_test_framework-vc143-mt-x64-1_80.lib libboost_wave-vc143-mt-x64-1_80.lib libboost_wserialization-vc143-mt-x64-1_80.lib libboost_zlib-vc143-mt-x64-1_80.lib
flann qhull NI2 release 版
flann.lib
flann_cpp.lib
flann_cpp_s.lib
flann_s.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.lib
qhull_r.lib
OpenNI2.lib
9. 每次设置很麻烦可以通过属性管理器 自定义属性表
配置方法和前面说的方式一样,以后新建项目把配置文件引入即可使用,只有编译器等少许内容需要再单独配置。
10. 终于完整的写完了!撒花~~
参考博客:
https://zhuanlan.zhihu.com/p/463850599