PCL【Win10+VS2015+PCL_1.8.0环境配置】

PCL【Win10+VS2015+PCL_1.8.0环境配置】

一、安装

1.下载地址
PCL下载地址1

2.安装过程
(1)安装下载下的PCL 1.8.0 All-in-one Installer MSVC2015 x64。勾选上Add PCL to system PATH for all users。我的安装路径为:C:\Program Files\PCL 1.8.0

(2)安装过程中,会弹出OpenNI的安装程序,更改OpenNI的安装路径为C:\Program Files\PCL 1.8.0\3rdParty\OpenNI2

(3)解压与你安装PCL版本对应的PDB文件,到你PCL安装路径下的bin文件夹,即:C:\Program Files\PCL 1.8.0\bin

二、配置

主要就是VC++目录-包含目录 和库目录以及链接器-附加依赖项 的配置。

  1. 配置系统环境变量。
    在这里插入图片描述

  2. 新建空项目。
    在这里插入图片描述

  3. 新建项目属性表。注意:所有配置均在Debug X64模式下。
    在这里插入图片描述

  4. 配置项目属性表。
    在这里插入图片描述

4.1VC++目录—->包含的目录。
在这里插入图片描述
在这里插入图片描述

4.22.VC++目录—->库目录。
在这里插入图片描述

4.3调试-属性-链接器-附加依赖项。添加下面的.lib文件。
在这里插入图片描述

  • 配置在x64与Debug环境下的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
flann_cpp_s-gd.lib
flann_s-gd.lib
flann-gd.lib
libboost_atomic-vc140-mt-gd-1_61.lib
libboost_chrono-vc140-mt-gd-1_61.lib
libboost_container-vc140-mt-gd-1_61.lib
libboost_context-vc140-mt-gd-1_61.lib
libboost_coroutine-vc140-mt-gd-1_61.lib
libboost_date_time-vc140-mt-gd-1_61.lib
libboost_exception-vc140-mt-gd-1_61.lib
libboost_filesystem-vc140-mt-gd-1_61.lib
libboost_graph-vc140-mt-gd-1_61.lib
libboost_iostreams-vc140-mt-gd-1_61.lib
libboost_locale-vc140-mt-gd-1_61.lib
libboost_log-vc140-mt-gd-1_61.lib
libboost_log_setup-vc140-mt-gd-1_61.lib
libboost_math_c99-vc140-mt-gd-1_61.lib
libboost_math_c99f-vc140-mt-gd-1_61.lib
libboost_math_c99l-vc140-mt-gd-1_61.lib
libboost_math_tr1-vc140-mt-gd-1_61.lib
libboost_math_tr1f-vc140-mt-gd-1_61.lib
libboost_math_tr1l-vc140-mt-gd-1_61.lib
libboost_mpi-vc140-mt-gd-1_61.lib
libboost_prg_exec_monitor-vc140-mt-gd-1_61.lib
libboost_program_options-vc140-mt-gd-1_61.lib
libboost_random-vc140-mt-gd-1_61.lib
libboost_regex-vc140-mt-gd-1_61.lib
libboost_serialization-vc140-mt-gd-1_61.lib
libboost_signals-vc140-mt-gd-1_61.lib
libboost_system-vc140-mt-gd-1_61.lib
libboost_test_exec_monitor-vc140-mt-gd-1_61.lib
libboost_thread-vc140-mt-gd-1_61.lib
libboost_timer-vc140-mt-gd-1_61.lib
libboost_unit_test_framework-vc140-mt-gd-1_61.lib
libboost_wave-vc140-mt-gd-1_61.lib
libboost_wserialization-vc140-mt-gd-1_61.lib
qhull_d.lib
qhull_p_d.lib
qhull_r_d.lib
qhullcpp_d.lib
qhullstatic_d.lib
qhullstatic_r_d.lib
vtkalglib-7.0-gd.lib
vtkChartsCore-7.0-gd.lib
vtkCommonColor-7.0-gd.lib
vtkCommonComputationalGeometry-7.0-gd.lib
vtkCommonCore-7.0-gd.lib
vtkCommonDataModel-7.0-gd.lib
vtkCommonExecutionModel-7.0-gd.lib
vtkCommonMath-7.0-gd.lib
vtkCommonMisc-7.0-gd.lib
vtkCommonSystem-7.0-gd.lib
vtkCommonTransforms-7.0-gd.lib
vtkDICOMParser-7.0-gd.lib
vtkDomainsChemistry-7.0-gd.lib
vtkexoIIc-7.0-gd.lib
vtkexpat-7.0-gd.lib
vtkFiltersAMR-7.0-gd.lib
vtkFiltersCore-7.0-gd.lib
vtkFiltersExtraction-7.0-gd.lib
vtkFiltersFlowPaths-7.0-gd.lib
vtkFiltersGeneral-7.0-gd.lib
vtkFiltersGeneric-7.0-gd.lib
vtkFiltersGeometry-7.0-gd.lib
vtkFiltersHybrid-7.0-gd.lib
vtkFiltersHyperTree-7.0-gd.lib
vtkFiltersImaging-7.0-gd.lib
vtkFiltersModeling-7.0-gd.lib
vtkFiltersParallel-7.0-gd.lib
vtkFiltersParallelImaging-7.0-gd.lib
vtkFiltersProgrammable-7.0-gd.lib
vtkFiltersSelection-7.0-gd.lib
vtkFiltersSMP-7.0-gd.lib
vtkFiltersSources-7.0-gd.lib
vtkFiltersStatistics-7.0-gd.lib
vtkFiltersTexture-7.0-gd.lib
vtkFiltersVerdict-7.0-gd.lib
vtkfreetype-7.0-gd.lib
vtkGeovisCore-7.0-gd.lib
vtkgl2ps-7.0-gd.lib
vtkhdf5-7.0-gd.lib
vtkhdf5_hl-7.0-gd.lib
vtkImagingColor-7.0-gd.lib
vtkImagingCore-7.0-gd.lib
vtkImagingFourier-7.0-gd.lib
vtkImagingGeneral-7.0-gd.lib
vtkImagingHybrid-7.0-gd.lib
vtkImagingMath-7.0-gd.lib
vtkImagingMorphological-7.0-gd.lib
vtkImagingSources-7.0-gd.lib
vtkImagingStatistics-7.0-gd.lib
vtkImagingStencil-7.0-gd.lib
vtkInfovisCore-7.0-gd.lib
vtkInfovisLayout-7.0-gd.lib
vtkInteractionImage-7.0-gd.lib
vtkInteractionStyle-7.0-gd.lib
vtkInteractionWidgets-7.0-gd.lib
vtkIOAMR-7.0-gd.lib
vtkIOCore-7.0-gd.lib
vtkIOEnSight-7.0-gd.lib
vtkIOExodus-7.0-gd.lib
vtkIOExport-7.0-gd.lib
vtkIOGeometry-7.0-gd.lib
vtkIOImage-7.0-gd.lib
vtkIOImport-7.0-gd.lib
vtkIOInfovis-7.0-gd.lib
vtkIOLegacy-7.0-gd.lib
vtkIOLSDyna-7.0-gd.lib
vtkIOMINC-7.0-gd.lib
vtkIOMovie-7.0-gd.lib
vtkIONetCDF-7.0-gd.lib
vtkIOParallel-7.0-gd.lib
vtkIOParallelXML-7.0-gd.lib
vtkIOPLY-7.0-gd.lib
vtkIOSQL-7.0-gd.lib
vtkIOVideo-7.0-gd.lib
vtkIOXML-7.0-gd.lib
vtkIOXMLParser-7.0-gd.lib
vtkjpeg-7.0-gd.lib
vtkjsoncpp-7.0-gd.lib
vtklibxml2-7.0-gd.lib
vtkmetaio-7.0-gd.lib
vtkNetCDF-7.0-gd.lib
vtkNetCDF_cxx-7.0-gd.lib
vtkoggtheora-7.0-gd.lib
vtkParallelCore-7.0-gd.lib
vtkpng-7.0-gd.lib
vtkproj4-7.0-gd.lib
vtkRenderingAnnotation-7.0-gd.lib
vtkRenderingContext2D-7.0-gd.lib
vtkRenderingContextOpenGL-7.0-gd.lib
vtkRenderingCore-7.0-gd.lib
vtkRenderingFreeType-7.0-gd.lib
vtkRenderingGL2PS-7.0-gd.lib
vtkRenderingImage-7.0-gd.lib
vtkRenderingLabel-7.0-gd.lib
vtkRenderingLIC-7.0-gd.lib
vtkRenderingLOD-7.0-gd.lib
vtkRenderingOpenGL-7.0-gd.lib
vtkRenderingVolume-7.0-gd.lib
vtkRenderingVolumeOpenGL-7.0-gd.lib
vtksqlite-7.0-gd.lib
vtksys-7.0-gd.lib
vtktiff-7.0-gd.lib
vtkverdict-7.0-gd.lib
vtkViewsContext2D-7.0-gd.lib
vtkViewsCore-7.0-gd.lib
vtkViewsInfovis-7.0-gd.lib
vtkzlib-7.0-gd.lib
OpenNI2.lib

  1. 同理,如果是Relese与x64版本,.lib版本即为去掉-gd的版本。
    date_time-vc140-mt-1_61.lib
    libboost_exception-vc140-mt-1_61.lib
    libboost_filesystem-vc140-mt-1_61.lib
    libboost_graph-vc140-mt-1_61.lib
    libboost_iostreams-vc140-mt-1_61.lib
    libboost_locale-vc140-mt-1_61.lib
    libboost_log-vc140-mt-1_61.lib
    libboost_log_setup-vc140-mt-1_61.lib
    libboost_math_c99-vc140-mt-1_61.lib
    libboost_math_c99f-vc140-mt-1_61.lib
    libboost_math_c99l-vc140-mt-1_61.lib
    libboost_math_tr1-vc140-mt-1_61.lib
    libboost_math_tr1f-vc140-mt-1_61.lib
    libboost_math_tr1l-vc140-mt-1_61.lib
    libboost_mpi-vc140-mt-1_61.lib
    libboost_prg_exec_monitor-vc140-mt-1_61.lib
    libboost_program_options-vc140-mt-1_61.lib
    libboost_random-vc140-mt-1_61.lib
    libboost_regex-vc140-mt-1_61.lib
    libboost_serialization-vc140-mt-1_61.lib
    libboost_signals-vc140-mt-1_61.lib
    libboost_system-vc140-mt-1_61.lib
    libboost_test_exec_monitor-vc140-mt-1_61.lib
    libboost_thread-vc140-mt-1_61.lib
    libboost_timer-vc140-mt-1_61.lib
    libboost_unit_test_framework-vc140-mt-1_61.lib
    libboost_wave-vc140-mt-1_61.lib
    libboost_wserialization-vc140-mt-1_61.lib
    qhullstatic.lib
    qhull.lib
    qhull_p.lib
    qhull_r.lib
    qhullcpp.lib
    qhullstatic_r.lib
    vtkalglib-7.0.lib
    vtkChartsCore-7.0.lib
    vtkCommonColor-7.0.lib
    vtkCommonComputationalGeometry-7.0.lib
    vtkCommonCore-7.0.lib
    vtkCommonDataModel-7.0.lib
    vtkCommonExecutionModel-7.0.lib
    vtkCommonMath-7.0.lib
    vtkCommonMisc-7.0.lib
    vtkCommonSystem-7.0.lib
    vtkCommonTransforms-7.0.lib
    vtkDICOMParser-7.0.lib
    vtkDomainsChemistry-7.0.lib
    vtkexoIIc-7.0.lib
    vtkexpat-7.0.lib
    vtkFiltersAMR-7.0.lib
    vtkFiltersCore-7.0.lib
    vtkFiltersExtraction-7.0.lib
    vtkFiltersFlowPaths-7.0.lib
    vtkFiltersGeneral-7.0.lib
    vtkFiltersGeneric-7.0.lib
    vtkFiltersGeometry-7.0.lib
    vtkFiltersHybrid-7.0.lib
    vtkFiltersHyperTree-7.0.lib
    vtkFiltersImaging-7.0.lib
    vtkFiltersModeling-7.0.lib
    vtkFiltersParallel-7.0.lib
    vtkFiltersParallelImaging-7.0.lib
    vtkFiltersProgrammable-7.0.lib
    vtkFiltersSelection-7.0.lib
    vtkFiltersSMP-7.0.lib
    vtkFiltersSources-7.0.lib
    vtkFiltersStatistics-7.0.lib
    vtkFiltersTexture-7.0.lib
    vtkFiltersVerdict-7.0.lib
    vtkfreetype-7.0.lib
    vtkGeovisCore-7.0.lib
    vtkhdf5-7.0.lib
    vtkhdf5_hl-7.0.lib
    vtkImagingColor-7.0.lib
    vtkImagingCore-7.0.lib
    vtkImagingFourier-7.0.lib
    vtkImagingGeneral-7.0.lib
    vtkImagingHybrid-7.0.lib
    vtkImagingMath-7.0.lib
    vtkImagingMorphological-7.0.lib
    vtkImagingSources-7.0.lib
    vtkImagingStatistics-7.0.lib
    vtkImagingStencil-7.0.lib
    vtkInfovisCore-7.0.lib
    vtkInfovisLayout-7.0.lib
    vtkInteractionImage-7.0.lib
    vtkInteractionStyle-7.0.lib
    vtkInteractionWidgets-7.0.lib
    vtkIOAMR-7.0.lib
    vtkIOCore-7.0.lib
    vtkIOEnSight-7.0.lib
    vtkIOExodus-7.0.lib
    vtkIOExport-7.0.lib
    vtkIOGeometry-7.0.lib
    vtkIOImage-7.0.lib
    vtkIOImport-7.0.lib
    vtkIOInfovis-7.0.lib
    vtkIOLegacy-7.0.lib
    vtkIOLSDyna-7.0.lib
    vtkIOMINC-7.0.lib
    vtkIOMovie-7.0.lib
    vtkIONetCDF-7.0.lib
    vtkIOParallel-7.0.lib
    vtkIOPLY-7.0.lib
    vtkIOSQL-7.0.lib
    vtkIOVideo-7.0.lib
    vtkIOXML-7.0.lib
    vtkIOXMLParser-7.0.lib
    vtkjpeg-7.0.lib
    vtkjsoncpp-7.0.lib
    vtklibxml2-7.0.lib
    vtkmetaio-7.0.lib
    vtkNetCDF-7.0.lib
    vtkNetCDF_cxx-7.0.lib
    vtkoggtheora-7.0.lib
    vtkParallelCore-7.0.lib
    vtkpng-7.0.lib
    vtkproj4-7.0.lib
    vtkRenderingAnnotation-7.0.lib
    vtkRenderingContext2D-7.0.lib
    vtkRenderingCore-7.0.lib
    vtkRenderingFreeType-7.0.lib
    vtkRenderingImage-7.0.lib
    vtkRenderingLabel-7.0.lib
    vtkRenderingLOD-7.0.lib
    vtkRenderingOpenGL2-7.0.lib
    vtkRenderingOpenGL-7.0.lib
    vtkRenderingVolume-7.0.lib
    vtkRenderingVolumeOpenGL2-7.0.lib
    vtkRenderingVolumeOpenGL-7.0.lib
    vtksqlite-7.0.lib
    vtksys-7.0.lib
    vtktiff-7.0.lib
    vtkverdict-7.0.lib
    vtkViewsContext2D-7.0.lib
    vtkViewsCore-7.0.lib
    vtkViewsInfovis-7.0.lib
    vtkzlib-7.0.lib
    OpenNI2.lib

  2. 测试程序。

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/project_inliers.h>

int main(int argc, char** argv)
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_projected(new pcl::PointCloud<pcl::PointXYZ>);

	// Fill in the cloud data
	cloud->width = 5;
	cloud->height = 1;
	cloud->points.resize(cloud->width * cloud->height);

	for (size_t i = 0; i < cloud->points.size(); ++i)
	{
		cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
	}

	std::cerr << "Cloud before projection: " << std::endl;
	for (size_t i = 0; i < cloud->points.size(); ++i)
		std::cerr << "    " << cloud->points[i].x << " "
		<< cloud->points[i].y << " "
		<< cloud->points[i].z << std::endl;

	// Create a set of planar coefficients with X=Y=0,Z=1
	pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients());
	coefficients->values.resize(4);
	coefficients->values[0] = coefficients->values[1] = 0;
	coefficients->values[2] = 1.0;
	coefficients->values[3] = 0;

	// Create the filtering object
	pcl::ProjectInliers<pcl::PointXYZ> proj;
	proj.setModelType(pcl::SACMODEL_PLANE);
	proj.setInputCloud(cloud);
	proj.setModelCoefficients(coefficients);
	proj.filter(*cloud_projected);

	std::cerr << "Cloud after projection: " << std::endl;
	for (size_t i = 0; i < cloud_projected->points.size(); ++i)
		std::cerr << "    " << cloud_projected->points[i].x << " "
		<< cloud_projected->points[i].y << " "
		<< cloud_projected->points[i].z << std::endl;

	system("pause");
	return (0);
}

出现如下结果,表示配置成功。
在这里插入图片描述
三、其他

1.最好在属性目录C/C++ – 预处理器–预处理器定义 加入:

_SCL_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS
PCL_NO_PRECOMPILE

2.在属性目录C/C++ - - 常规 - - SDL检查改为否
3.如果是新建的项目,在添加配置好的属性表之后,以上两点在新建项目的属性表里面修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值