pcl下载地址:https://github.com/PointCloudLibrary/pcl/releases
一、安装
1.双击安装包中的「PCL-1.8.1-AllInOne-msvc2015-win64.exe」程序,安装的时候注意选上Add PCL to the system PATH for all users,这样安装程序会自动在系统环境变量中添加PCL_ROOT项。
2.安装的过程中会弹出OpenNI的安装程序,将OpenNI的安装路径设置为PCL安装路径下的3rdParty\OpenNI2文件夹。
3.安装程序执行完成后,将pdb文件压缩包解压(即:PCL-1.8.1-AllInOne-msvc2015-win64-pdb.rar),pdb文件拷贝到PCL安装目录下的bin文件夹中。
二、设置环境变量
1、安装过程中已经设置好了环境变量:%PCL_ROOT%=E:\Program Files\PCL 1.8.1
2、在Path手动设置的环境变量
%PCL_ROOT%\bin;
%PCL_ROOT%\3rdParty\FLANN\bin;
%PCL_ROOT%\3rdParty\VTK\bin;
%PCL_ROOT%\3rdParty\Qhull\bin;
%PCL_ROOT%\3rdParty\OpenNI2\Tools
3.重启电脑
三、配置环境
点击 视图--属性管理器
项目--属性
根据自己的需要选择Debug或Release
四、配置Release
1.点击“包含目录”下拉箭头->编辑,添加文件路径:
D:\PCL 1.8.1\include\pcl-1.8
D:\PCL 1.8.1\3rdParty\Boost\include\boost-1_64
D:\PCL 1.8.1\3rdParty\Eigen\eigen3
D:\PCL 1.8.1\3rdParty\FLANN\include
D:\PCL 1.8.1\3rdParty\Boost\include
D:\PCL 1.8.1\3rdParty\OpenNI2\Include
D:\PCL 1.8.1\3rdParty\Qhull\include
D:\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0
完成后点击确定;
2.点击“库目录”下拉箭头->编辑,添加文件路径:
D:\PCL 1.8.1\lib
D:\PCL 1.8.1\3rdParty\OpenNI2\Lib
D:\PCL 1.8.1\3rdParty\Qhull\lib
D:\PCL 1.8.1\3rdParty\VTK\lib
D:\PCL 1.8.1\3rdParty\FLANN\lib
D:\PCL 1.8.1\3rdParty\Boost\include\boost-1_64
D:\PCL 1.8.1\3rdParty\Boost\lib
完成后点击确定;
3.点击连接器->输入->附加依赖项:
点击下拉箭头->编辑,添加下列文件(有点长):
pcl_common_release.lib;
pcl_features_release.lib;
pcl_filters_release.lib;
pcl_io_ply_release.lib;
pcl_io_release.lib;
pcl_kdtree_release.lib;
pcl_keypoints_release.lib;
pcl_ml_release.lib;
pcl_octree_release.lib;
pcl_outofcore_release.lib;
pcl_people_release.lib;
pcl_recognition_release.lib;
pcl_registration_release.lib;
pcl_sample_consensus_release.lib;
pcl_search_release.lib;
pcl_segmentation_release.lib;
pcl_stereo_release.lib;
pcl_surface_release.lib;
pcl_tracking_release.lib;
pcl_visualization_release.lib;
libboost_atomic-vc140-mt-1_64.lib;
libboost_bzip2-vc140-mt-1_64.lib;
libboost_chrono-vc140-mt-1_64.lib;
libboost_container-vc140-mt-1_64.lib;
libboost_context-vc140-mt-1_64.lib;
libboost_coroutine-vc140-mt-1_64.lib;
libboost_date_time-vc140-mt-1_64.lib;
libboost_exception-vc140-mt-1_64.lib;
libboost_fiber-vc140-mt-1_64.lib;
libboost_filesystem-vc140-mt-1_64.lib;
libboost_graph-vc140-mt-1_64.lib;
libboost_graph_parallel-vc140-mt-1_64.lib;
libboost_iostreams-vc140-mt-1_64.lib;
libboost_locale-vc140-mt-1_64.lib;
libboost_log-vc140-mt-1_64.lib;
libboost_log_setup-vc140-mt-1_64.lib;
libboost_math_c99-vc140-mt-1_64.lib;
libboost_math_c99f-vc140-mt-1_64.lib;
libboost_math_c99l-vc140-mt-1_64.lib;
libboost_math_tr1-vc140-mt-1_64.lib;
libboost_math_tr1f-vc140-mt-1_64.lib;
libboost_math_tr1l-vc140-mt-1_64.lib;
libboost_mpi-vc140-mt-1_64.lib;
libboost_numpy-vc140-mt-1_64.lib;
libboost_numpy3-vc140-mt-1_64.lib;
libboost_prg_exec_monitor-vc140-mt-1_64.lib;
libboost_program_options-vc140-mt-1_64.lib;
libboost_python-vc140-mt-1_64.lib;
libboost_python3-vc140-mt-1_64.lib;
libboost_random-vc140-mt-1_64.lib;
libboost_regex-vc140-mt-1_64.lib;
libboost_serialization-vc140-mt-1_64.lib;
libboost_signals-vc140-mt-1_64.lib;
libboost_system-vc140-mt-1_64.lib;
libboost_test_exec_monitor-vc140-mt-1_64.lib;
libboost_thread-vc140-mt-1_64.lib;
libboost_timer-vc140-mt-1_64.lib;
libboost_type_erasure-vc140-mt-1_64.lib;
libboost_unit_test_framework-vc140-mt-1_64.lib;
libboost_wave-vc140-mt-1_64.lib;
libboost_wserialization-vc140-mt-1_64.lib;
libboost_zlib-vc140-mt-1_64.lib;
OpenNI2.lib;
vtkalglib-8.0.lib;
vtkChartsCore-8.0.lib;
vtkCommonColor-8.0.lib;
vtkCommonComputationalGeometry-8.0.lib;
vtkCommonCore-8.0.lib;
vtkCommonDataModel-8.0.lib;
vtkCommonExecutionModel-8.0.lib;
vtkCommonMath-8.0.lib;
vtkCommonMisc-8.0.lib;
vtkCommonSystem-8.0.lib;
vtkCommonTransforms-8.0.lib;
vtkDICOMParser-8.0.lib;
vtkDomainsChemistry-8.0.lib;
vtkexoIIc-8.0.lib;
vtkexpat-8.0.lib;
vtkFiltersAMR-8.0.lib;
vtkFiltersCore-8.0.lib;
vtkFiltersExtraction-8.0.lib;
vtkFiltersFlowPaths-8.0.lib;
vtkFiltersGeneral-8.0.lib;
vtkFiltersGeneric-8.0.lib;
vtkFiltersGeometry-8.0.lib;
vtkFiltersHybrid-8.0.lib;
vtkFiltersHyperTree-8.0.lib;
vtkFiltersImaging-8.0.lib;
vtkFiltersModeling-8.0.lib;
vtkFiltersParallel-8.0.lib;
vtkFiltersParallelImaging-8.0.lib;
vtkFiltersPoints-8.0.lib;
vtkFiltersProgrammable-8.0.lib;
vtkFiltersSelection-8.0.lib;
vtkFiltersSMP-8.0.lib;
vtkFiltersSources-8.0.lib;
vtkFiltersStatistics-8.0.lib;
vtkFiltersTexture-8.0.lib;
vtkFiltersTopology-8.0.lib;
vtkFiltersVerdict-8.0.lib;
vtkfreetype-8.0.lib;
vtkGeovisCore-8.0.lib;
vtkgl2ps-8.0.lib;
vtkhdf5-8.0.lib;
vtkhdf5_hl-8.0.lib;
vtkImagingColor-8.0.lib;
vtkImagingCore-8.0.lib;
vtkImagingFourier-8.0.lib;
vtkImagingGeneral-8.0.lib;
vtkImagingHybrid-8.0.lib;
vtkImagingMath-8.0.lib;
vtkImagingMorphological-8.0.lib;
vtkImagingSources-8.0.lib;
vtkImagingStatistics-8.0.lib;
vtkImagingStencil-8.0.lib;
vtkInfovisCore-8.0.lib;
vtkInfovisLayout-8.0.lib;
vtkInteractionImage-8.0.lib;
vtkInteractionStyle-8.0.lib;
vtkInteractionWidgets-8.0.lib;
vtkIOAMR-8.0.lib;
vtkIOCore-8.0.lib;
vtkIOEnSight-8.0.lib;
vtkIOExodus-8.0.lib;
vtkIOExport-8.0.lib;
vtkIOExportOpenGL-8.0.lib;
vtkIOGeometry-8.0.lib;
vtkIOImage-8.0.lib;
vtkIOImport-8.0.lib;
vtkIOInfovis-8.0.lib;
vtkIOLegacy-8.0.lib;
vtkIOLSDyna-8.0.lib;
vtkIOMINC-8.0.lib;
vtkIOMovie-8.0.lib;
vtkIONetCDF-8.0.lib;
vtkIOParallel-8.0.lib;
vtkIOParallelXML-8.0.lib;
vtkIOPLY-8.0.lib;
vtkIOSQL-8.0.lib;
vtkIOTecplotTable-8.0.lib;
vtkIOVideo-8.0.lib;
vtkIOXML-8.0.lib;
vtkIOXMLParser-8.0.lib;
vtkjpeg-8.0.lib;
vtkjsoncpp-8.0.lib;
vtklibharu-8.0.lib;
vtklibxml2-8.0.lib;
vtklz4-8.0.lib;
vtkmetaio-8.0.lib;
vtkNetCDF-8.0.lib;
vtknetcdf_c++.lib;
vtkoggtheora-8.0.lib;
vtkParallelCore-8.0.lib;
vtkpng-8.0.lib;
vtkproj4-8.0.lib;
vtkRenderingAnnotation-8.0.lib;
vtkRenderingContext2D-8.0.lib;
vtkRenderingContextOpenGL-8.0.lib;
vtkRenderingCore-8.0.lib;
vtkRenderingFreeType-8.0.lib;
vtkRenderingGL2PS-8.0.lib;
vtkRenderingImage-8.0.lib;
vtkRenderingLabel-8.0.lib;
vtkRenderingLIC-8.0.lib;
vtkRenderingLOD-8.0.lib;
vtkRenderingOpenGL-8.0.lib;
vtkRenderingVolume-8.0.lib;
vtkRenderingVolumeOpenGL-8.0.lib;
vtksqlite-8.0.lib;
vtksys-8.0.lib;
vtktiff-8.0.lib;
vtkverdict-8.0.lib;
vtkViewsContext2D-8.0.lib;
vtkViewsCore-8.0.lib;
vtkViewsInfovis-8.0.lib;
vtkzlib-8.0.lib;
qhull_p.lib;
qhull_r.lib;
qhull.lib;
qhullcpp.lib;
qhullstatic.lib;
qhullstatic_r.lib;
flann.lib;
flann_cpp.lib;
flann_cpp_s.lib;
flann_s.lib;
4.点击配置属性下的CC++,点击它的子项预处理器,右边有个预处理器定义,添加上_SCL_SECURE_NO_WARNINGS 和 _CRT_SECURE_NO_WARNINGS
5.点击配置属性下的C++,常规
在其中添加:D:\PCL 1.8.1\3rdParty\Boost\include\boost-1_64
五、配置Debug
只有一个东西不一样
点击连接器->输入->附加依赖项中,添加该图下面的依赖项:
pcl_common_debug.lib;
vtknetcdf_c++-gd.lib;
pcl_features_debug.lib;
pcl_filters_debug.lib;
pcl_io_ply_debug.lib;
pcl_io_debug.lib;
pcl_kdtree_debug.lib;
pcl_keypoints_debug.lib;
pcl_ml_debug.lib;
pcl_octree_debug.lib;
pcl_outofcore_debug.lib;
pcl_people_debug.lib;
pcl_recognition_debug.lib;
pcl_registration_debug.lib;
pcl_sample_consensus_debug.lib;
pcl_search_debug.lib;
pcl_segmentation_debug.lib;
pcl_stereo_debug.lib;
pcl_surface_debug.lib;
pcl_tracking_debug.lib;
pcl_visualization_debug.lib;
libboost_atomic-vc140-mt-gd-1_64.lib;
libboost_bzip2-vc140-mt-gd-1_64.lib;
libboost_chrono-vc140-mt-gd-1_64.lib;
libboost_container-vc140-mt-gd-1_64.lib;
libboost_context-vc140-mt-gd-1_64.lib;
libboost_coroutine-vc140-mt-gd-1_64.lib;
libboost_date_time-vc140-mt-gd-1_64.lib;
libboost_exception-vc140-mt-gd-1_64.lib;
libboost_fiber-vc140-mt-gd-1_64.lib;
libboost_filesystem-vc140-mt-gd-1_64.lib;
libboost_graph-vc140-mt-gd-1_64.lib;
libboost_graph_parallel-vc140-mt-gd-1_64.lib;
libboost_iostreams-vc140-mt-gd-1_64.lib;
libboost_locale-vc140-mt-gd-1_64.lib;
libboost_log-vc140-mt-gd-1_64.lib;
libboost_log_setup-vc140-mt-gd-1_64.lib;
libboost_math_c99-vc140-mt-gd-1_64.lib;
libboost_math_c99f-vc140-mt-gd-1_64.lib;
libboost_math_c99l-vc140-mt-gd-1_64.lib;
libboost_math_tr1-vc140-mt-gd-1_64.lib;
libboost_math_tr1f-vc140-mt-gd-1_64.lib;
libboost_math_tr1l-vc140-mt-gd-1_64.lib;
libboost_mpi-vc140-mt-gd-1_64.lib;
libboost_numpy3-vc140-mt-gd-1_64.lib;
libboost_numpy-vc140-mt-gd-1_64.lib;
libboost_prg_exec_monitor-vc140-mt-gd-1_64.lib;
libboost_program_options-vc140-mt-gd-1_64.lib;
libboost_python3-vc140-mt-gd-1_64.lib;
libboost_python-vc140-mt-gd-1_64.lib;
libboost_random-vc140-mt-gd-1_64.lib;
libboost_regex-vc140-mt-gd-1_64.lib;
libboost_serialization-vc140-mt-gd-1_64.lib;
libboost_signals-vc140-mt-gd-1_64.lib;
libboost_system-vc140-mt-gd-1_64.lib;
libboost_test_exec_monitor-vc140-mt-gd-1_64.lib;
libboost_thread-vc140-mt-gd-1_64.lib;
libboost_timer-vc140-mt-gd-1_64.lib;
libboost_type_erasure-vc140-mt-gd-1_64.lib;
libboost_unit_test_framework-vc140-mt-gd-1_64.lib;
libboost_wave-vc140-mt-gd-1_64.lib;
libboost_wserialization-vc140-mt-gd-1_64.lib;
libboost_zlib-vc140-mt-gd-1_64.lib;
flann-gd.lib;
flann_cpp-gd.lib;
flann_cpp_s-gd.lib;
flann_s-gd.lib;
qhull_d.lib;
qhullcpp_d.lib;
qhullstatic_d.lib;
qhullstatic_r_d.lib;
qhull_p_d.lib;
qhull_r_d.lib;
vtkalglib-8.0-gd.lib;
vtkChartsCore-8.0-gd.lib;
vtkCommonColor-8.0-gd.lib;
vtkCommonComputationalGeometry-8.0-gd.lib;
vtkCommonCore-8.0-gd.lib;
vtkCommonDataModel-8.0-gd.lib;
vtkCommonExecutionModel-8.0-gd.lib;
vtkCommonMath-8.0-gd.lib;
vtkCommonMisc-8.0-gd.lib;
vtkCommonSystem-8.0-gd.lib;
vtkCommonTransforms-8.0-gd.lib;
vtkDICOMParser-8.0-gd.lib;
vtkDomainsChemistry-8.0-gd.lib;
vtkexoIIc-8.0-gd.lib;
vtkexpat-8.0-gd.lib;
vtkFiltersAMR-8.0-gd.lib;
vtkFiltersCore-8.0-gd.lib;
vtkFiltersExtraction-8.0-gd.lib;
vtkFiltersFlowPaths-8.0-gd.lib;
vtkFiltersGeneral-8.0-gd.lib;
vtkFiltersGeneric-8.0-gd.lib;
vtkFiltersGeometry-8.0-gd.lib;
vtkFiltersHybrid-8.0-gd.lib;
vtkFiltersHyperTree-8.0-gd.lib;
vtkFiltersImaging-8.0-gd.lib;
vtkFiltersModeling-8.0-gd.lib;
vtkFiltersParallel-8.0-gd.lib;
vtkFiltersParallelImaging-8.0-gd.lib;
vtkFiltersPoints-8.0-gd.lib;
vtkFiltersProgrammable-8.0-gd.lib;
vtkFiltersSelection-8.0-gd.lib;
vtkFiltersSMP-8.0-gd.lib;
vtkFiltersSources-8.0-gd.lib;
vtkFiltersStatistics-8.0-gd.lib;
vtkFiltersTexture-8.0-gd.lib;
vtkFiltersTopology-8.0-gd.lib;
vtkFiltersVerdict-8.0-gd.lib;
vtkfreetype-8.0-gd.lib;
vtkGeovisCore-8.0-gd.lib;
vtkgl2ps-8.0-gd.lib;
vtkhdf5-8.0-gd.lib;
vtkhdf5_hl-8.0-gd.lib;
vtkImagingColor-8.0-gd.lib;
vtkImagingCore-8.0-gd.lib;
vtkImagingFourier-8.0-gd.lib;
vtkImagingGeneral-8.0-gd.lib;
vtkImagingHybrid-8.0-gd.lib;
vtkImagingMath-8.0-gd.lib;
vtkImagingMorphological-8.0-gd.lib;
vtkImagingSources-8.0-gd.lib;
vtkImagingStatistics-8.0-gd.lib;
vtkImagingStencil-8.0-gd.lib;
vtkInfovisCore-8.0-gd.lib;
vtkInfovisLayout-8.0-gd.lib;
vtkInteractionImage-8.0-gd.lib;
vtkInteractionStyle-8.0-gd.lib;
vtkInteractionWidgets-8.0-gd.lib;
vtkIOAMR-8.0-gd.lib;
vtkIOCore-8.0-gd.lib;
vtkIOEnSight-8.0-gd.lib;
vtkIOExodus-8.0-gd.lib;
vtkIOExport-8.0-gd.lib;
vtkIOExportOpenGL-8.0-gd.lib;
vtkIOGeometry-8.0-gd.lib;
vtkIOImage-8.0-gd.lib;
vtkIOImport-8.0-gd.lib;
vtkIOInfovis-8.0-gd.lib;
vtkIOLegacy-8.0-gd.lib;
vtkIOLSDyna-8.0-gd.lib;
vtkIOMINC-8.0-gd.lib;
vtkIOMovie-8.0-gd.lib;
vtkIONetCDF-8.0-gd.lib;
vtkIOParallel-8.0-gd.lib;
vtkIOParallelXML-8.0-gd.lib;
vtkIOPLY-8.0-gd.lib;
vtkIOSQL-8.0-gd.lib;
vtkIOTecplotTable-8.0-gd.lib;
vtkIOVideo-8.0-gd.lib;
vtkIOXML-8.0-gd.lib;
vtkIOXMLParser-8.0-gd.lib;
vtkjpeg-8.0-gd.lib;
vtkjsoncpp-8.0-gd.lib;
vtklibharu-8.0-gd.lib;
vtklibxml2-8.0-gd.lib;
vtklz4-8.0-gd.lib;
vtkmetaio-8.0-gd.lib;
vtkNetCDF-8.0-gd.lib;
vtkoggtheora-8.0-gd.lib;
vtkParallelCore-8.0-gd.lib;
vtkpng-8.0-gd.lib;
vtkproj4-8.0-gd.lib;
vtkRenderingAnnotation-8.0-gd.lib;
vtkRenderingContext2D-8.0-gd.lib;
vtkRenderingContextOpenGL-8.0-gd.lib;
vtkRenderingCore-8.0-gd.lib;
vtkRenderingFreeType-8.0-gd.lib;
vtkRenderingGL2PS-8.0-gd.lib;
vtkRenderingImage-8.0-gd.lib;
vtkRenderingLabel-8.0-gd.lib;
vtkRenderingLIC-8.0-gd.lib;
vtkRenderingLOD-8.0-gd.lib;
vtkRenderingOpenGL-8.0-gd.lib;
vtkRenderingVolume-8.0-gd.lib;
vtkRenderingVolumeOpenGL-8.0-gd.lib;
vtksqlite-8.0-gd.lib;
vtksys-8.0-gd.lib;
vtktiff-8.0-gd.lib;
vtkverdict-8.0-gd.lib;
vtkViewsContext2D-8.0-gd.lib;
vtkViewsCore-8.0-gd.lib;
vtkViewsInfovis-8.0-gd.lib;
vtkzlib-8.0-gd.lib;
opengl32.lib;