Visual Studio 2015 + PCL1.8.1环境配置

目录

1.下载资源包

2. 安装PCL

3. 安装OpenNI2.2

4.环境配置

5. VS2015环境下配置PCL1.8.1

1.6 测试

1.7 说明

1.8 参考资料:


1.下载资源包

默认安装好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

2. 安装PCL

选择下载好的 PCL-1.8.1-AllInOne-msvc2015-win64_3 安装包,右键 以管理员身份运行

Visual Studio 2015 + PCL1.8.1环境配置_第1张图片

 

选择第二个,Add PCL to the system PATH for all users 下一步;

Visual Studio 2015 + PCL1.8.1环境配置_第2张图片

选择安装位置;

Visual Studio 2015 + PCL1.8.1环境配置_第3张图片

 

默认下一步;

Visual Studio 2015 + PCL1.8.1环境配置_第4张图片

 

选择安装的组件,默认全选,安装;

Visual Studio 2015 + PCL1.8.1环境配置_第5张图片

 

等待过程中会弹出安装OPENNI2的提示

接下来安装OPENNI2

3. 安装OpenNI2.2

安装过程中,提示安装OpenNI2.2,改变安装路径,将 安装路径设为PCL安装路径中的3rdParty文件夹中

我的是 D:\Program Files\PCL 1.8.1\3rdParty\ ,然后Install;

Visual Studio 2015 + PCL1.8.1环境配置_第6张图片

 

弹出提示:选择 安装

Visual Studio 2015 + PCL1.8.1环境配置_第7张图片

 

完成,Finish

Visual Studio 2015 + PCL1.8.1环境配置_第8张图片

 

警告: 路径太长... 不用管,点击确定就行;

Visual Studio 2015 + PCL1.8.1环境配置_第9张图片

 

完成安装;

注意完成安装后进入OPENNI2安装的文件夹中,看 是否存在以下文件 ,若存在 [除后缀Wie.msi外的文件都要有] ,进行下一步,若不存在,或者不完整,需要卸载OPENNI,并重新安装

Visual Studio 2015 + PCL1.8.1环境配置_第10张图片

 

4.环境配置

安装成功后,进入高级系统设置,查看环境变量;

Visual Studio 2015 + PCL1.8.1环境配置_第11张图片

 

出现这四个环境变量;

Visual Studio 2015 + PCL1.8.1环境配置_第12张图片

 

双击 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

Visual Studio 2015 + PCL1.8.1环境配置_第13张图片

Visual Studio 2015 + PCL1.8.1环境配置_第14张图片

 

5. VS2015环境下配置PCL1.8.1

打开vs2015,新建项目,选择新建Win32控制台应用程序,命名为PCL_env_set.cpp 名字随意

Visual Studio 2015 + PCL1.8.1环境配置_第15张图片

 

然后找到 视图 - 其他窗口 - 属性管理器 ,打开属性管理器;

Visual Studio 2015 + PCL1.8.1环境配置_第16张图片

 

release|x64文件夹上 右键 添加新项目属性表,取名 PCLRelease64 ;

同样,在Debug|x64下添加新项目属性表,取名PCLDebug64;

Visual Studio 2015 + PCL1.8.1环境配置_第17张图片

 

PCLRelease64配置 :

双击PCLRelease64,弹出属性页,左侧选中VC++目录

右侧在 包含目录库目录 中添加如下路径 [ 路径要和自己安装位置相匹配 ]

Visual Studio 2015 + PCL1.8.1环境配置_第18张图片

 

包含目录

 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 找到左侧 链接器 - 输入 - 附加依赖库

Visual Studio 2015 + PCL1.8.1环境配置_第19张图片

 

打开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

如图会将文件夹下的文件分类提取;

Visual Studio 2015 + PCL1.8.1环境配置_第20张图片

 

两项命令的输出即为要添加的依赖项:

 //两项汇总后的附加依赖项
 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++选项中的 预处理器,编辑 预处理器定义;

Visual Studio 2015 + PCL1.8.1环境配置_第21张图片

 

添加如下命令:

 _CRT_SECURE_NO_WARNINGS
 _SCL_SECURE_NO_WARNINGS
 _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

Visual Studio 2015 + PCL1.8.1环境配置_第22张图片

 

SDL检查

c/c++ --- 所有选项 --- SDL检查 ,将其改为 “否” ;

Visual Studio 2015 + PCL1.8.1环境配置_第23张图片

配置完成!

1.6 测试

将下载的pcb文件复制在之前配置的文件夹处;

Visual Studio 2015 + PCL1.8.1环境配置_第24张图片

 

将源代码复制在新建的.cpp文件中

Visual Studio 2015 + PCL1.8.1环境配置_第25张图片

 

Crtl + F5运行;报错代码为c1010;

Visual Studio 2015 + PCL1.8.1环境配置_第26张图片

 

点击错误代码,官网给出解决办法:错误 C1010 | Microsoft Docs

注意这里说的是 所有配置,而不是debug或者release!!!

Visual Studio 2015 + PCL1.8.1环境配置_第27张图片

 

Visual Studio 2015 + PCL1.8.1环境配置_第28张图片

 

重新运行:

测试成功!!!

Visual Studio 2015 + PCL1.8.1环境配置_第29张图片

 

1.7 说明

下次打开一个新的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

点击“视图”->“解决方案资源管理器”,回到工程即可。

Visual Studio 2015 + PCL1.8.1环境配置_第30张图片

 

Visual Studio 2015 + PCL1.8.1环境配置_第31张图片

 

实际测试:

测试来源:windows系统下PCL的安装与配置_sangnanpo的博客-CSDN博客_windows安装pcl

在刚才的基础上,新建一个项目,将测试代码放在.cpp中,会报错

Visual Studio 2015 + PCL1.8.1环境配置_第32张图片

 

按照说明中操作后,没有Error提醒了:

Visual Studio 2015 + PCL1.8.1环境配置_第33张图片

运行试一下:

 

解决办法依旧是:

错误 C1010 | Microsoft Docs

在 " 解决方案资源管理器 " 窗口中,右键单击项目名称,然后选择 " 属性 " 以打开 "项目 属性页 " 对话框。

在 " 配置 " 下拉 "配置" 中,选择 " 所有配置"。

选择 "配置属性" " c/c + +**预编译头**" 属性页。

在 "属性" 列表中,选择 " 预编译标头 " 属性的下拉列表,然后选择 " 不使用预编译标头"。 选择“确定”以保存更改 。

Visual Studio 2015 + PCL1.8.1环境配置_第34张图片

 

然后在 " 解决方案资源管理器 " 窗口中,右键单击项目中的 " pch " 源文件。 (在较早的项目中,该文件可以命名为 stdafx.h。 ) 选择 "从 Project 中排除" 可将其从生成中删除。

对于生成的每个配置,请使用 "生成 清理解决方案" 菜单命令删除中间生成目录中的所有project_name .pch文件。(这一步是官网给出的,不知道啥意思,没设置,运行成功,那就先不管他了)

Visual Studio 2015 + PCL1.8.1环境配置_第35张图片

 

测试成功!!!

Visual Studio 2015 + PCL1.8.1环境配置_第36张图片

 

1.8 参考资料:

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

等......

你可能感兴趣的:(c++,PCL点云库,c++,visual,studio)