PCL环境配置

win7+VS2017+PCL1.8.1环境配置

1、PCL1.8.1的下载和安装

         1、pcl下载地址:https://github.com/PointCloudLibrary/pcl/releases

PCL环境配置_第1张图片

2、pcl安装。

PCL环境配置_第2张图片

3、OpenNI2安装需要自定义安装路径。

      我的路径:E:\Program Files (x86)\PCL 1.8.1\3rdParty\OpenNI2

2、环境变量的配置

1、安装过程中已经设置好了环境变量:%PCL_ROOT%=E:\Program Files\PCL 1.8.1

PCL环境配置_第3张图片

2、手动设置的环境变量

%PCL_ROOT%\bin;

%PCL_ROOT%\3rdParty\FLANN\bin;

%PCL_ROOT%\3rdParty\VTK\bin;

%PCL_ROOT%\3rdParty\Qhull\bin;

%PCL_ROOT%\3rdParty\OpenNI2\Tools

PCL环境配置_第4张图片

3、头文件、库文件及依赖项的配置

1、头文件配置:

PCL环境配置_第5张图片

2、库文件配置

PCL环境配置_第6张图片

3、依赖项配置

PCL环境配置_第7张图片

缺什么依赖项就添加对应依赖项:见附录6

4、预处理器:

PCL环境配置_第8张图片

_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
_SCL_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS

 

4、点云编解码例程

// TestPcl.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

#include "pch.h"
#include 
#include 
#include 
#include 
#include 
#include 

int main()
{
	// 加载点云
	pcl::PointCloud sourceCloud;
	pcl::PLYReader reader;
	if (pcl::io::loadPLYFile("Facade_00009_vox12.ply", sourceCloud) == -1)
	{
		PCL_ERROR("Failed to load PLYFile!");
		return -1; 
	}
	// 是否查看压缩信息
	const unsigned char colorBitResolution_arg = 6;
	bool showStatistics = true;
	// 配置文件,如果想看配置文件的详细内容,可以参考: /io/include/pcl/compression/compression_profiles.h	
	//pcl::io::compression_Profiles_e compressionProfile = pcl::io::LOW_RES_ONLINE_COMPRESSION_WITH_COLOR;
	pcl::io::compression_Profiles_e compressionProfile = pcl::io::MANUAL_CONFIGURATION;
	// 初始化点云压缩器和解压器
	pcl::io::OctreePointCloudCompression* PointCloudEncoder;
	PointCloudEncoder = new pcl::io::OctreePointCloudCompression(compressionProfile, showStatistics, 0.002, 0.01,
		true, 50, true, colorBitResolution_arg);
	// 压缩结果stringstream
	std::stringstream compressedData;
	// 输出点云
	pcl::PointCloud::Ptr cloudOut(new pcl::PointCloud());
	// 压缩点云
	PointCloudEncoder->encodePointCloud(sourceCloud.makeShared(), compressedData);
	std::cout << "开始写入" << sizeof(compressedData)<decodePointCloud(compressedData, cloudOut);
	pcl::io::savePLYFile("chongjian.ply", *cloudOut);
	std::cout << "结束" << endl;
	return 0;
}

运行结果:

PCL环境配置_第9张图片

5、遇到的问题

1、错误    C4996    ‘std::fpos<_Mbstatet>::seekpos’: warning STL4019: The member std::fpos::seekpos() is non-Standard, and is preserved only for compatibility with workarounds for old versions of Visual C++.
解决办法: _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING 添加到预处理器

2、错误    LNK2019    无法解析的外部符号 “void __cdecl pcl::console::print(enum pcl::console::VERBOSITY_LEVEL,char const *,…)” (?print@console@pcl@@YAXW4VERBOSITY_LEVEL@12@PEBDZZ),该符号在函数 “public: void __cdecl pcl::detail::FieldMapper::operator()(void)” (???RUx@fields@pcl@@@? ?RUx@fields@pcl@@@??RUx@fields@pcl@@@?FieldMapper@UPointXYZ@pcl@@@detail@pcl@@QEAAXXZ) 中被引用    ConsoleApplication1 C:\Users\lenovo\Desktop\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj    1
找不到PCL_COMMON_DEBUG.DLL

解决办法:检查环境变量是否正确

3、找不到openni2.dll

解决办法:缺什么dll就加到DEBUG目录下面

PCL环境配置_第10张图片

6、附录 

vtknetcdf_c++-gd.lib

pcl_common_debug.lib

pcl_features_debug.lib

pcl_filters_debug.lib

pcl_io_ply_debug.lib

pcl_io_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

libboost_atomic-vc141-mt-gd-1_64.lib

libboost_bzip2-vc141-mt-gd-1_64.lib

libboost_chrono-vc141-mt-gd-1_64.lib

libboost_container-vc141-mt-gd-1_64.lib

libboost_context-vc141-mt-gd-1_64.lib

libboost_coroutine-vc141-mt-gd-1_64.lib

libboost_date_time-vc141-mt-gd-1_64.lib

libboost_exception-vc141-mt-gd-1_64.lib

libboost_fiber-vc141-mt-gd-1_64.lib

libboost_filesystem-vc141-mt-gd-1_64.lib

libboost_graph-vc141-mt-gd-1_64.lib

libboost_graph_parallel-vc141-mt-gd-1_64.lib

libboost_iostreams-vc141-mt-gd-1_64.lib

libboost_locale-vc141-mt-gd-1_64.lib

libboost_log-vc141-mt-gd-1_64.lib

libboost_log_setup-vc141-mt-gd-1_64.lib

libboost_math_c99-vc141-mt-gd-1_64.lib

libboost_math_c99f-vc141-mt-gd-1_64.lib

libboost_math_c99l-vc141-mt-gd-1_64.lib

libboost_math_tr1-vc141-mt-gd-1_64.lib

libboost_math_tr1f-vc141-mt-gd-1_64.lib

libboost_math_tr1l-vc141-mt-gd-1_64.lib

libboost_mpi-vc141-mt-gd-1_64.lib

libboost_numpy3-vc141-mt-gd-1_64.lib

libboost_numpy-vc141-mt-gd-1_64.lib

libboost_prg_exec_monitor-vc141-mt-gd-1_64.lib

libboost_program_options-vc141-mt-gd-1_64.lib

libboost_python3-vc141-mt-gd-1_64.lib

libboost_python-vc141-mt-gd-1_64.lib

libboost_random-vc141-mt-gd-1_64.lib

libboost_regex-vc141-mt-gd-1_64.lib

libboost_serialization-vc141-mt-gd-1_64.lib

libboost_signals-vc141-mt-gd-1_64.lib

libboost_system-vc141-mt-gd-1_64.lib

libboost_test_exec_monitor-vc141-mt-gd-1_64.lib

libboost_thread-vc141-mt-gd-1_64.lib

libboost_timer-vc141-mt-gd-1_64.lib

libboost_type_erasure-vc141-mt-gd-1_64.lib

libboost_unit_test_framework-vc141-mt-gd-1_64.lib

libboost_wave-vc141-mt-gd-1_64.lib

libboost_wserialization-vc141-mt-gd-1_64.lib

libboost_zlib-vc141-mt-gd-1_64.lib

flann-gd.lib

flann_cpp-gd.lib

flann_cpp_s-gd.lib

flann_s-gd.lib

qhull_d.lib

qhullcpp_d.lib

qhullstatic_d.lib

qhullstatic_r_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

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

opengl32.lib

你可能感兴趣的:(PCL环境配置)