目录
1.下载资源包
2. 安装PCL
3. 安装OpenNI2.2
4.环境配置
5. VS2015环境下配置PCL1.8.1
1.6 测试
1.7 说明
1.8 参考资料:
默认安装好vs2015
vs2015社区版下载地址:https://my.visualstudio.com/Downloads 安装略
需要用到的有:
All in one 安装包 下载地址:http :// pointclouds.org/downloads/windows.html
all in one 包对应的PDB包 下载地址:https ://github.com/PointCloudLibrary/pcl/releases
Github上不去的看这里
安装包下载地址: Point Cloud Library 1.8.1 has been released – Summary?Blog
选择下载好的 PCL-1.8.1-AllInOne-msvc2015-win64_3 安装包,右键 以管理员身份运行;
选择第二个,Add PCL to the system PATH for all users 下一步;
选择安装位置;
默认下一步;
选择安装的组件,默认全选,安装;
等待过程中会弹出安装OPENNI2的提示
接下来安装OPENNI2
安装过程中,提示安装OpenNI2.2,改变安装路径,将 安装路径设为PCL安装路径中的3rdParty文件夹中
我的是 D:\Program Files\PCL 1.8.1\3rdParty\ ,然后Install;
弹出提示:选择 安装
完成,Finish
警告: 路径太长... 不用管,点击确定就行;
完成安装;
注意:完成安装后进入OPENNI2安装的文件夹中,看 是否存在以下文件 ,若存在 [除后缀Wie.msi外的文件都要有] ,进行下一步,若不存在,或者不完整,需要卸载OPENNI,并重新安装
安装成功后,进入高级系统设置,查看环境变量;
出现这四个环境变量;
双击 Path ,编辑环境变量,
新建以下环境变量;
%PCL_ROOT%\3rdParty\FLANN\bin
%PCL_ROOT%\3rdParty\Qhull\bin
%PCL_ROOT%\3rdParty\OpenNI2\Tools
%PCL_ROOT%\3rdParty\VTK\bin
%PCL_ROOT%\bin
%OPENNI2_REDIST64%
接下来,解压下载的 pcl-1.8.1-pdb-msvc2015-win64 文件,并将其中的全部 .pdb文件复制到PCL安装路径的bin文件夹下,我的是 D:\Program Files\PCL 1.8.1\bin
打开vs2015,新建项目,选择新建Win32控制台应用程序,命名为PCL_env_set.cpp 名字随意
然后找到 视图 - 其他窗口 - 属性管理器 ,打开属性管理器;
在 release|x64文件夹上 右键 添加新项目属性表,取名 PCLRelease64 ;
同样,在Debug|x64下添加新项目属性表,取名PCLDebug64;
PCLRelease64配置 :
双击PCLRelease64,弹出属性页,左侧选中VC++目录
右侧在 包含目录 和 库目录 中添加如下路径 [ 路径要和自己安装位置相匹配 ]
包含目录
D:\Program Files\PCL 1.8.1\include\pcl-1.8
D:\Program Files\PCL 1.8.1\3rdParty\Boost\include\boost-1_64
D:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3
D:\Program Files\PCL 1.8.1\3rdParty\FLANN\include
D:\Program Files\PCL 1.8.1\3rdParty\Qhull\include
D:\Program Files\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0
D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\include
库目录
D:\Program Files\PCL 1.8.1\lib
D:\Program Files\PCL 1.8.1\3rdParty\VTK\lib
D:\Program Files\PCL 1.8.1\3rdParty\Boost\lib
D:\Program Files\PCL 1.8.1\3rdParty\FLANN\lib
D:\Program Files\PCL 1.8.1\3rdParty\Qhull\lib
D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Lib
添加附加依赖项
此处参考PCL:pcl12的安装与配置_windows10_vs2022_XJTU_JP的博客-CSDN博客_pcl windows 编译
双击 PCLRelease64 找到左侧 链接器 - 输入 - 附加依赖库 ;
打开PCL安装目录下的3rdParty\VTK\lib文件夹,在cmd中依次输入以下命令,输出的结果即为要添加的依赖项(我PCL安装在D盘,根据自己安装路径修改命令)
D:
cd 安装路径
dir *0.lib /B
输入后会输出以下结果,将结果放入附加依赖项中;
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
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
同样方法在 PCL 1.8.1\lib下使用如下命令,获得的结果也添加到附加依赖项中
dir *release.lib /B
获得结果:
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
预处理器
双击PCLRelease64,弹出属性页,依次找到 c/c++,预处理器 ,预处理器定义,添加以下内容;
_CRT_SECURE_NO_WARNINGS
BOOST_ALL_NO_LIB
BOOST_uSE_WINDOWS_H
NOMINMAX
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
PCLDebug64配置 :
Debug下配置vc++的包含目录和库目录与Release下的一样 ;
附加依赖项
打开PCL安装目录下的3rdParty\VTK\lib文件夹和PCL1.8.1/lib文件夹,参考release的方法分别在cmd中依次输入以下命令,输出的结果即为要添加的依赖项(我PCL安装在D盘,根据自己安装路径修改命令)
//PCL1.8.1/lib 下
D:
cd 路径
dir *debug.lib /B
//PCL 1.8.1\3rdParty\VTK\lib 下
D:
cd 路径
dir *0.lib /B
如图会将文件夹下的文件分类提取;
两项命令的输出即为要添加的依赖项:
//两项汇总后的附加依赖项
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
vtknetcdf_c++-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
pcl_common_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_io_debug.lib
pcl_io_ply_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
预处理器定义
在PCLDebug64属性页中点击C/C++选项中的 预处理器,编辑 预处理器定义;
添加如下命令:
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
SDL检查
c/c++ --- 所有选项 --- SDL检查 ,将其改为 “否” ;
配置完成!
将下载的pcb文件复制在之前配置的文件夹处;
将源代码复制在新建的.cpp文件中
Crtl + F5运行;报错代码为c1010;
点击错误代码,官网给出解决办法:错误 C1010 | Microsoft Docs
注意这里说的是 所有配置,而不是debug或者release!!!
重新运行:
测试成功!!!
下次打开一个新的vs工程,如何添加保存好的属性表?
操作如下:
点击“视图”->“其他窗口”->“属性管理器”
在Debug | x64上右键单击,选择“添加现有属性表”,选择PCL安装目录下的PCLd64PropertySheet.props;
在Release | x64上右键单击,选择“添加现有属性表”,选择PCL安装目录下的PCLr64PropertySheet.props;
这里就需要记住配置时创建的文件夹,我的是
D:\Visual Studio2015_PCL\PCL_environment\PCL_env_set.cpp\PCL_env_set.cpp
点击“视图”->“解决方案资源管理器”,回到工程即可。
实际测试:
测试来源:windows系统下PCL的安装与配置_sangnanpo的博客-CSDN博客_windows安装pcl
在刚才的基础上,新建一个项目,将测试代码放在.cpp中,会报错
按照说明中操作后,没有Error提醒了:
运行试一下:
解决办法依旧是:
错误 C1010 | Microsoft Docs
在 " 解决方案资源管理器 " 窗口中,右键单击项目名称,然后选择 " 属性 " 以打开 "项目 属性页 " 对话框。
在 " 配置 " 下拉 "配置" 中,选择 " 所有配置"。
选择 "配置属性" " c/c + +**预编译头**" 属性页。
在 "属性" 列表中,选择 " 预编译标头 " 属性的下拉列表,然后选择 " 不使用预编译标头"。 选择“确定”以保存更改 。
然后在 " 解决方案资源管理器 " 窗口中,右键单击项目中的 " pch " 源文件。 (在较早的项目中,该文件可以命名为 stdafx.h。 ) 选择 "从 Project 中排除" 可将其从生成中删除。
对于生成的每个配置,请使用 "生成 清理解决方案" 菜单命令删除中间生成目录中的所有project_name .pch文件。(这一步是官网给出的,不知道啥意思,没设置,运行成功,那就先不管他了)
测试成功!!!
win10+vs2015+pcl1.8.1安装配置_u013925378的博客-CSDN博客_pcl vs2015
windows系统下PCL的安装与配置_sangnanpo的博客-CSDN博客_windows安装pcl
WIN10+VS2015+PCL1.8.1环境安装_Usper-CSDN博客_vs2015安装pcl
02VS2017安装和配置PCL1-8-1-Windows-下配置安装PCL-开发环境 · 语雀 (yuque.com)
PCL学习:用cmd测试安装提示无法找到没有找到pcl_common_debug.dll_zfjBIT的专栏-CSDN博客
【PCL点云库】Win10+VS2015+PCL1.8.1配置_su_fan的博客-CSDN博客
PCL安装-win10+vs2017+PCL1.8.1(一)_xiaopi3的博客-CSDN博客
已加载“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件。解决方法。_让思想去旅行的博客-CSDN博客
PCL:pcl12的安装与配置_windows10_vs2022_XJTU_JP的博客-CSDN博客_pcl windows 编译
用vs运行cmake后的工程_weixin_34018169的博客-CSDN博客
错误 C1010 | Microsoft Docs
等......