Visual Studio 2019設定PCL 1.12.1環境
阿新 • • 發佈:2022-04-19
1. 下載並安裝PCL 1.12.1
到https://github.com/PointCloudLibrary/pcl/releases下載下面兩個檔案:
安裝PCL時,選擇新增路徑到Path.解壓pcl-1.12.1-pdb-msvc2019-win64.zip,複製.pdb檔案到C:\Program Files\PCL 1.12.1\bin路徑下面.
2. 設定PCL 1.12.1環境
(1) 新建一個C++控制檯程式,進入屬性管理器,選擇適當的屬性:Debug/Release,X64/X86;
(2) 選擇VC++目錄-->包含目錄-->編輯,新增下面的檔案;
(3) 新增庫目錄;
(4) 連結器-->輸入-->附加依賴項,需要新增很多依賴項,Debug的檔案列表如下;
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
(5) 檢查以下路徑是否已經新增進Path,如果沒有,新增進去;
C:\Program Files\PCL 1.12.1\bin;
C:\Program Files\PCL 1.12.1\3rdParty\Qhull\bin;
C:\Program Files\PCL 1.12.1\3rdParty\VTK\bin;
C:\Program Files\PCL 1.12.1\3rdParty\FLANN\bin;
C:\Program Files\OpenNI2\Tools;
(6) 除錯-->環境,輸入以下路徑(這裡是為了清楚換行,實際上不需要換行);
PATH=C:\Program Files\PCL 1.12.1\bin; C:\Program Files\PCL 1.12.1\3rdParty\FLANN\bin; C:\Program Files\PCL 1.12.1\3rdParty\VTK\bin; C:\Program Files\PCL 1.12.1\3rdParty\Qhull\bin; C:\Program Files\OpenNI2\Tools; $(PATH)
(7) C/C++-->前處理器-->前處理器定義,新增以下兩行;
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS