visual studio配置pcl环境和opencv环境,方法一样

关于vs的版本,以及pcl,opencv版本,怎么选择就看自己的了,这里放出下载链接:

1.下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (microsoft.com)下载社区版的就行了,免费的,用不着破解了,基本学习使用完全够用了。

2.Releases · PointCloudLibrary/pcl (github.com)自己选择版本下载下来解压,下载方框里面的:

 

3.Releases - OpenCV版本自己选。

一、pcl环境配置

1.全部下载完毕以后,运行我们下载得到的文件PCL-1.12.1-AllInOne-msvc2019-win64.exe进行安装。下面几幅图显示出了几个必要的步骤,图随便找的,但是步骤一样:

在这里插入图片描述

 在这里插入图片描述

在这里插入图片描述 

一段时间之后,会弹出来一个OpenNI2的安装窗口,一直下一步,记住自己设置的安装路径。

2.由于点云在安装的过程中会把所有的第三方库全部安装在点云安装目录下的3rdparty文件夹里。因此,为了保持文件夹的整洁,我这里也把OpenNI2放在3rdparty文件夹里,即E:PCL 1.12.13rdPartyOpenNI2。

3.OpenNI2安装结束之后就完成了点云库的完整安装,解压pcl-1.12.0-pdb-msvc2019-win64.zip,将得到的pdb文件全部复制到:E:PCL 1.12.0bin中。

4.环境变量配置
点云库安装完成之后,还有一个比较重要的步骤,就是配置Windows的环境变量。找到电脑高级系统设置,然后选择高级选项卡,点击下面的环境变量,此时便打开了环境变量的配置窗口。此时,我们可以看到PCL的根目录以及OpenNI2的目录已经添加到了系统变量中。
注意,由于我们在安装完毕后把OpenNI2放在3rdparty文件夹里,因此我们需要将OPENNI2_REDIST64的系统路径修改为E:PCL 1.12.13rdPartyOpenNI2,pcl在哪就改哪里的路径。然后,我们双击系统变量中的Path,再将以下的目录添加到Path中,最下面那个不是,只关注pcl就行:

 6.到这里就配置好了windows的pcl环境配置,可以在windows终端调用pcl了:

随便找一个pcd文件,我这里用的斯坦福兔子,文件名称为rabbit.pcd.在该文件的文件夹中右击鼠标打开终端,输入指令:

pcl_viewer rabbit.pcd

然后就可以看到点云图了:

 7.给visual studio配置环境。新建一个空项目,找到属性管理器,新建立一个项目属性表(目的:以后新建一个PCL项目文件直接调用配置好的属性表)。如下图中右边,没找到的话在搜索框里搜一下属性管理器就行:

 8.这里先配置一个debug的环境,release照葫芦画瓢就行。右键点击debug |x64,新建项目属性,名字debug.props,如下:

9. 建立好以后,右键点击debug,选择属性,这时候开始配置环境地址了。打开属性表,配置VC++目录中的包含目录库目录,包含目录添加如下

E:PCL 1.12.13rdPartyBoostincludeboost-1_78
E:PCL 1.12.13rdPartyEigeneigen3
E:PCL 1.12.13rdPartyFLANNinclude
E:PCL 1.12.13rdPartyQhullinclude
E:PCL 1.12.13rdPartyVTKincludevtk-9.1
E:PCL 1.12.1includepcl-1.12
E:PCL 1.12.13rdPartyOpenNI2Include

库目录添加如下:

C:Program FilesOpenNI2Lib
C:Program FilesPCL 1.12.13rdPartyVTKlib
C:Program FilesPCL 1.12.13rdPartyQhulllib
C:Program FilesPCL 1.12.13rdPartyFLANNlib
C:Program FilesPCL 1.12.13rdPartyBoostlib
C:Program FilesPCL 1.12.1lib

10.C/C++->处理器配置:

_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

11.链接器->输入->附加依赖项配置:在每个库目录中找到所需要的.lib文件,根据不同库目录下的.lib文件名,可以区分出debug模式和release模,记得自己区分一下。各自的.lib文件,Debug版本含“gd”,可以区分出两个版本的库文件。

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_peopled.lib
pcl_recognitiond.lib
pcl_registrationd.lib
pcl_sample_consensusd.lib
pcl_searchd.lib
pcl_segmentationd.lib
pcl_stereod.lib
pcl_surfaced.lib
pcl_trackingd.lib
pcl_visualizationd.lib
libboost_atomic-vc142-mt-gd-x64-1_78.lib
libboost_bzip2-vc142-mt-gd-x64-1_78.lib
libboost_chrono-vc142-mt-gd-x64-1_78.lib
libboost_container-vc142-mt-gd-x64-1_78.lib
libboost_context-vc142-mt-gd-x64-1_78.lib
libboost_contract-vc142-mt-gd-x64-1_78.lib
libboost_coroutine-vc142-mt-gd-x64-1_78.lib
libboost_date_time-vc142-mt-gd-x64-1_78.lib
libboost_exception-vc142-mt-gd-x64-1_78.lib
libboost_filesystem-vc142-mt-gd-x64-1_78.lib
libboost_graph-vc142-mt-gd-x64-1_78.lib
libboost_graph_parallel-vc142-mt-gd-x64-1_78.lib
libboost_iostreams-vc142-mt-gd-x64-1_78.lib
libboost_json-vc142-mt-gd-x64-1_78.lib
libboost_locale-vc142-mt-gd-x64-1_78.lib
libboost_log-vc142-mt-gd-x64-1_78.lib
libboost_log_setup-vc142-mt-gd-x64-1_78.lib
libboost_math_c99-vc142-mt-gd-x64-1_78.lib
libboost_math_c99f-vc142-mt-gd-x64-1_78.lib
libboost_math_c99l-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1f-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1l-vc142-mt-gd-x64-1_78.lib
libboost_mpi-vc142-mt-gd-x64-1_78.lib
libboost_nowide-vc142-mt-gd-x64-1_78.lib
libboost_numpy38-vc142-mt-gd-x64-1_78.lib
libboost_prg_exec_monitor-vc142-mt-gd-x64-1_78.lib
libboost_program_options-vc142-mt-gd-x64-1_78.lib
libboost_python38-vc142-mt-gd-x64-1_78.lib
libboost_random-vc142-mt-gd-x64-1_78.lib
libboost_regex-vc142-mt-gd-x64-1_78.lib
libboost_serialization-vc142-mt-gd-x64-1_78.lib
libboost_system-vc142-mt-gd-x64-1_78.lib
libboost_test_exec_monitor-vc142-mt-gd-x64-1_78.lib
libboost_thread-vc142-mt-gd-x64-1_78.lib
libboost_timer-vc142-mt-gd-x64-1_78.lib
libboost_type_erasure-vc142-mt-gd-x64-1_78.lib
libboost_unit_test_framework-vc142-mt-gd-x64-1_78.lib
libboost_wave-vc142-mt-gd-x64-1_78.lib
libboost_wserialization-vc142-mt-gd-x64-1_78.lib
libboost_zlib-vc142-mt-gd-x64-1_78.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_rd.lib
qhull_rd.lib
vtkcgns-9.1d.lib
vtkChartsCore-9.1d.lib
vtkCommonColor-9.1d.lib
vtkCommonComputationalGeometry-9.1d.lib
vtkCommonCore-9.1d.lib
vtkCommonDataModel-9.1d.lib
vtkCommonExecutionModel-9.1d.lib
vtkCommonMath-9.1d.lib
vtkCommonMisc-9.1d.lib
vtkCommonSystem-9.1d.lib
vtkCommonTransforms-9.1d.lib
vtkDICOMParser-9.1d.lib
vtkDomainsChemistry-9.1d.lib
vtkDomainsChemistryOpenGL2-9.1d.lib
vtkdoubleconversion-9.1d.lib
vtkexodusII-9.1d.lib
vtkexpat-9.1d.lib
vtkFiltersAMR-9.1d.lib
vtkFiltersCore-9.1d.lib
vtkFiltersExtraction-9.1d.lib
vtkFiltersFlowPaths-9.1d.lib
vtkFiltersGeneral-9.1d.lib
vtkFiltersGeneric-9.1d.lib
vtkFiltersGeometry-9.1d.lib
vtkFiltersHybrid-9.1d.lib
vtkFiltersHyperTree-9.1d.lib
vtkFiltersImaging-9.1d.lib
vtkFiltersModeling-9.1d.lib
vtkFiltersParallel-9.1d.lib
vtkFiltersParallelImaging-9.1d.lib
vtkFiltersPoints-9.1d.lib
vtkFiltersProgrammable-9.1d.lib
vtkFiltersSelection-9.1d.lib
vtkFiltersSMP-9.1d.lib
vtkFiltersSources-9.1d.lib
vtkFiltersStatistics-9.1d.lib
vtkFiltersTexture-9.1d.lib
vtkFiltersTopology-9.1d.lib
vtkFiltersVerdict-9.1d.lib
vtkfmt-9.1d.lib
vtkfreetype-9.1d.lib
vtkGeovisCore-9.1d.lib
vtkgl2ps-9.1d.lib
vtkglew-9.1d.lib
vtkhdf5-9.1d.lib
vtkhdf5_hl-9.1d.lib
vtkImagingColor-9.1d.lib
vtkImagingCore-9.1d.lib
vtkImagingFourier-9.1d.lib
vtkImagingGeneral-9.1d.lib
vtkImagingHybrid-9.1d.lib
vtkImagingMath-9.1d.lib
vtkImagingMorphological-9.1d.lib
vtkImagingSources-9.1d.lib
vtkImagingStatistics-9.1d.lib
vtkImagingStencil-9.1d.lib
vtkInfovisCore-9.1d.lib
vtkInfovisLayout-9.1d.lib
vtkInteractionImage-9.1d.lib
vtkInteractionStyle-9.1d.lib
vtkInteractionWidgets-9.1d.lib
vtkIOAMR-9.1d.lib
vtkIOAsynchronous-9.1d.lib
vtkIOCGNSReader-9.1d.lib
vtkIOChemistry-9.1d.lib
vtkIOCityGML-9.1d.lib
vtkIOCONVERGECFD-9.1d.lib
vtkIOCore-9.1d.lib
vtkIOEnSight-9.1d.lib
vtkIOExodus-9.1d.lib
vtkIOExport-9.1d.lib
vtkIOExportGL2PS-9.1d.lib
vtkIOExportPDF-9.1d.lib
vtkIOGeometry-9.1d.lib
vtkIOHDF-9.1d.lib
vtkIOImage-9.1d.lib
vtkIOImport-9.1d.lib
vtkIOInfovis-9.1d.lib
vtkIOIOSS-9.1d.lib
vtkIOLegacy-9.1d.lib
vtkIOLSDyna-9.1d.lib
vtkIOMINC-9.1d.lib
vtkIOMotionFX-9.1d.lib
vtkIOMovie-9.1d.lib
vtkIONetCDF-9.1d.lib
vtkIOOggTheora-9.1d.lib
vtkIOParallel-9.1d.lib
vtkIOParallelXML-9.1d.lib
vtkIOPLY-9.1d.lib
vtkIOSegY-9.1d.lib
vtkIOSQL-9.1d.lib
vtkioss-9.1d.lib
vtkIOTecplotTable-9.1d.lib
vtkIOVeraOut-9.1d.lib
vtkIOVideo-9.1d.lib
vtkIOXML-9.1d.lib
vtkIOXMLParser-9.1d.lib
vtkjpeg-9.1d.lib
vtkjsoncpp-9.1d.lib
vtkkissfft-9.1d.lib
vtklibharu-9.1d.lib
vtklibproj-9.1d.lib
vtklibxml2-9.1d.lib
vtkloguru-9.1d.lib
vtklz4-9.1d.lib
vtklzma-9.1d.lib
vtkmetaio-9.1d.lib
vtknetcdf-9.1d.lib
vtkogg-9.1d.lib
vtkParallelCore-9.1d.lib
vtkParallelDIY-9.1d.lib
vtkpng-9.1d.lib
vtkpugixml-9.1d.lib
vtkRenderingAnnotation-9.1d.lib
vtkRenderingContext2D-9.1d.lib
vtkRenderingContextOpenGL2-9.1d.lib
vtkRenderingCore-9.1d.lib
vtkRenderingFreeType-9.1d.lib
vtkRenderingGL2PSOpenGL2-9.1d.lib
vtkRenderingImage-9.1d.lib
vtkRenderingLabel-9.1d.lib
vtkRenderingLOD-9.1d.lib
vtkRenderingOpenGL2-9.1d.lib
vtkRenderingSceneGraph-9.1d.lib
vtkRenderingUI-9.1d.lib
vtkRenderingVolume-9.1d.lib
vtkRenderingVolumeOpenGL2-9.1d.lib
vtkRenderingVtkJS-9.1d.lib
vtksqlite-9.1d.lib
vtksys-9.1d.lib
vtkTestingRendering-9.1d.lib
vtktheora-9.1d.lib
vtktiff-9.1d.lib
vtkverdict-9.1d.lib
vtkViewsContext2D-9.1d.lib
vtkViewsCore-9.1d.lib
vtkViewsInfovis-9.1d.lib
vtkWrappingTools-9.1d.lib
vtkzlib-9.1d.lib
liblas.lib

这样就配置好了pcl环境,保存好debug.props,每次需要用pcl的时候可以在属性管理器,右键选择,添加现有属性表,即刚才配置的,测试的话有其他教程,这里就讲述了。

二、opencv环境配置​​​​​​

1.版本自己选择,最好选择不新不老的版本,比较稳。

2.跟上面一样,先配置系统环境变量,选择path,点击新建,把opencv路径:D:OPENCV opencvbuildx64vc15bin复制进去即可,注意这里是我的路径,复制你们自己的路径!复制好了点击确定即可。

3.跟上面一样,新建一个空项目,属性管理器,添加新项目属性表,opencv_debug.props,这里依旧只给出debug环境配置过程,release还是照葫芦画瓢。4.右键刚刚添加的属性表,点击属性。在“通用属性-VC++目录-常规-包含目录”中添加

%opencv%buildincludeopencv2
%opencv%buildinclude

注意,%opencv%为你自己的opencv目录,不要直接复制粘贴,去自己opencv路径看看复制下来

4.在“通用属性-VC++目录-常规-库目录”中添加:

%opencv%buildx64vc15lib

5.在“通用属性-链接器-输入-附加依赖项”中添加 opencv_world451d.lib,该文件在(%opencv%buildx64vc15lib里面),不同版本的该文件名称不同,只需要将自己版本的opencv文件夹中该文件名填入即可。跟上面一样,d.lib对应的是dubug版本,自己区分一下。

 6.保存好,每次需要用opencv的时候可以在属性管理器,右键选择,添加现有属性表。

到这里懒得写了,opencv就先不测试了。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>