VS2015+PCL.1.8.1(win10)环境配置

这个周末什么也没干,从周五晚上开始装的pcl库,整的真是要哭了,一遍一遍的,每次都有几十条甚至上百条的新问题,明明按照之前装1.8.0版本的方法装的,不知道是哪里出错了。然后就在周六晚上要放弃回去睡觉,不知道自己做了什么操作,突然就好了,就连之前1.8.0遇到的vtk用不了的问题也一并解决了,幸福来得太TTTTTTTTT突然!!!!!!!!!

之前也是查看了许多博客的安装教程,虽然都是大同小异,但谁能保证说不定是哪个地方不合适就导致问题百出了呢。只想说,能让自己安装成功的方法才是正确的方法。这里记录下我最终安装成功的过程,供大家参考。

一、安装pcl1.8.1

首先下载pcl1.8.1安装包进行安装,安装包网上一搜就能找到。

这里附下我的链接: https://pan.baidu.com/s/1-dPRLZ1a8Ktemo2EGXU-Sw 提取码: 66rb 。我这里是64位的。这里32位还是64位是看你VS的编译器是多少位的,并不是指操作系统。

我是选择第二项,自动生成系统变量,修改安装目录,自定义安装在了C:\pcl1.8.1。

                                                                   图1 

然后一直进行下一步。当提示安装openni的时候我们需要给OpneNI更改到自己选定的安装PCL的第三方库安装的路径下C:\pcl1.8.1\PCL1.8.1\3rdParty\OpenNI2

                                                                     图2 

之后会完成全部安装。

二.配置环境变量

                                                                                                   图3 

然后手动添加以下几个变量:

                                                                                         图4 

至此,系统环境变量配置完成。 

三、配置VS2015开发环境(这里以64位编译器为例)

新建一个空项目。

debug后面一项默认为win32值,将其改为x64(注:我这里用的是debug项),

                                                                            图5 

新建一项目,打开属性管理器,找到Debug|64,右键添加新项目属性表,这里命名为pcl_1.8.1_x64_debug.props,默认的保存位置就是项目所在目录下。点击确定。然后就可以在Debug|64下看到新添加的属性表。

 

                                                                   图6 

重要的事情来了!!!

右键属性表,打开属性,在属性中配置各项。

1)修改包含目录和库目录。 

                                                                                图7 

添加包含的文件:

                                                                                                   图8

如果boost的包含目录,包含到C:\pcl1.8.1\PCL1.8.1\3rdParty\Boost\include,而非C:\pcl1.8.1\PCL1.8.1\3rdParty\Boost\include\boost-1_64,则程序编译出错:

                                                                                 图9 

添加库目录:

                                                                                                        图10 

 2)添加附加依赖项

找到连接器->输入->附加依赖项,编辑。

添加以下内容:

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
flann-gd.lib
flann_cpp-gd.lib
flann_cpp_s-gd.lib
flann_s-gd.lib
OpenNI2.lib
qhullcpp_d.lib
qhullstatic_d.lib
qhullstatic_r_d.lib
qhull_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
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
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_numpy-vc140-mt-gd-1_64.lib
libboost_numpy3-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_python-vc140-mt-gd-1_64.lib
libboost_python3-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
opengl32.lib

以上就是设置完全的PCL以及第三方库的所有的步骤。

一个个复制粘贴.lib静态链接库名添加到附加依赖项甚是麻烦,这里介绍一种提取文件夹中.lib文件名的方法。

1.win+r,输入cmd回车

2.输入:cd C:\pcl1.8.1\PCL1.8.1\3rdParty\Boost\lib 回车(要得到所有的.lib,只需修改不同.lib的所在路径)

注意:这里路径如果不在C盘,例如在D盘,则需输入:cd /d D:\pcl1.8.1\PCL1.8.1\3rdParty\Boost\lib

3.分别输入:dir /b *.lib > filename.txt
                     dir /b *debug.lib > filename_debug.txt
                     dir /b *-gd*.lib > filename_gd.txt
                     dir /b *_d*.lib > filename_d.txt
                     dir /b *release.lib > filename_release.txt

可以得到各类型的静态库。这里要注意,如果文件名中间也包含了debug、-gd、_d或者release的字样,生成的txt里可能会多添加了本不该加的.lib。总之,生成完之后,要检查下txt里内容是否正确。

在这里,我们只需要使用中间三个,来得到debug下的.lib静态库。filenamexxx.txt是生成的文件名,可以自定义。

将生成的各txt归到一个txt里,就是我们要添加的附加依赖项的内容了。

注:如果遇到vtk相关报错,

如下:

只需向程序中添加以下几句代码即可解决:

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);
(虽然到现在我也不知道问什么在用1.8.0版本pcl的时候,这个方法不可行,笑cry...) 

猜你喜欢

转载自blog.csdn.net/u013541523/article/details/84194207
今日推荐