vs2013配置pcl(含vs2013安装程序,pcl安装程序,pcl-pcd文件包)

本文详细介绍了如何在Visual Studio 2013环境下配置Point Cloud Library (PCL) 1.8.0,包括下载与安装步骤,环境变量配置,附加包含目录、附加库目录和附加依赖项的设置,以及解决可能出现的报错。同时提供了一个简单的PCD文件读取示例代码,帮助开发者快速上手PCL使用。
摘要由CSDN通过智能技术生成

一、pcl1.8.0下载

pcl的下载比较简单,直接下载pcl1.8.0的安装程序。
资源如下:
下载完成后,双击exe文件,一直下一步安装完成即可。
注意,可以自己改变安装路径。

二、vs2013下载

从官网直接下载
VS官网
在这里插入图片描述
注意我们下载的是2013版本不是2019版本,点击下载,然后下拉,选择较早的下载项。如下图:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

下载完成后,安装即可。
注意:改变安装路径。(文件容量大)

三、pcl1.8.0-PCD下载

资源如下:

四、环境变量的配置

首先将pcl1.8.0-PCD文件夹下的所有pcd文件复制,粘贴到安装目录的bin文件夹下。如下图所示:
在这里插入图片描述

打开vs2013,新建项目,命名为pcl_test,如下图
在这里插入图片描述
点击确定,下一步,选择空项目,点击完成。
在这里插入图片描述
在这里插入图片描述

接下来就是配置PCL的时候了

注意这里配置的环境是debug-x64
在这里插入图片描述

1.配置附加包含目录

配置附加包含目录:即设置好PCL及第三方库的头文件路径。
D:\PCL 1.8.0\include\pcl-1.8
D:\PCL 1.8.0\3rdParty\Boost\include\boost-1_59
D:\PCL 1.8.0\3rdParty\Eigen\eigen3
D:\PCL 1.8.0\3rdParty\FLANN\include
D:\PCL 1.8.0\3rdParty\OpenNI2\Include
D:\PCL 1.8.0\3rdParty\Qhull\include
D:\PCL 1.8.0\3rdParty\VTK\include\vtk-7.0
右击项目,选择属性,在弹出的项目属性页中进行配置。
配置过程如下:
在这里插入图片描述
在这里插入图片描述

注意:上述七个目录必须全部配置完毕。

2.配置附加库目录

配置附加库目录:即设置好设置PCL及第三方库的lib文件路径。
D:\PCL 1.8.0\lib
D:\PCL 1.8.0\3rdParty\Boost\lib
D:\PCL 1.8.0\3rdParty\FLANN\lib
D:\PCL 1.8.0\3rdParty\OpenNI2\lib
D:\PCL 1.8.0\3rdParty\Qhull\lib
D:\PCL 1.8.0\3rdParty\VTK\lib
配置过程如下:
在这里插入图片描述在这里插入图片描述

注意:上述6个目录必须全部配置完毕。

3.配置附加依赖项

附加依赖项:即设置好设置PCL及第三方库的lib文件名。

pcl_apps_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_simulation_debug.lib
pcl_stereo_debug.lib
pcl_surface_debug.lib
pcl_tracking_debug.lib
pcl_visualization_debug.lib
libboost_atomic-vc120-mt-gd-1_59.lib
libboost_chrono-vc120-mt-gd-1_59.lib
libboost_container-vc120-mt-gd-1_59.lib
libboost_context-vc120-mt-gd-1_59.lib
libboost_coroutine-vc120-mt-gd-1_59.lib
libboost_date_time-vc120-mt-gd-1_59.lib
libboost_exception-vc120-mt-gd-1_59.lib
libboost_filesystem-vc120-mt-gd-1_59.lib
libboost_graph-vc120-mt-gd-1_59.lib
libboost_iostreams-vc120-mt-gd-1_59.lib
libboost_locale-vc120-mt-gd-1_59.lib
libboost_log-vc120-mt-gd-1_59.lib
libboost_log_setup-vc120-mt-gd-1_59.lib
libboost_math_c99-vc120-mt-gd-1_59.lib
libboost_math_c99f-vc120-mt-gd-1_59.lib
libboost_math_c99l-vc120-mt-gd-1_59.lib
libboost_math_tr1-vc120-mt-gd-1_59.lib
libboost_math_tr1f-vc120-mt-gd-1_59.lib
libboost_math_tr1l-vc120-mt-gd-1_59.lib
libboost_mpi-vc120-mt-gd-1_59.lib
libboost_prg_exec_monitor-vc120-mt-gd-1_59.lib
libboost_program_options-vc120-mt-gd-1_59.lib
libboost_random-vc120-mt-gd-1_59.lib
libboost_regex-vc120-mt-gd-1_59.lib
libboost_serialization-vc120-mt-gd-1_59.lib
libboost_signals-vc120-mt-gd-1_59.lib
libboost_system-vc120-mt-gd-1_59.lib
libboost_test_exec_monitor-vc120-mt-gd-1_59.lib
libboost_thread-vc120-mt-gd-1_59.lib
libboost_timer-vc120-mt-gd-1_59.lib
libboost_unit_test_framework-vc120-mt-gd-1_59.lib
libboost_wave-vc120-mt-gd-1_59.lib
libboost_wserialization-vc120-mt-gd-1_59.lib
flann_cpp_s-gd.lib
flann_s-gd.lib
flann-gd.lib
OpenNI2.lib
qhullstatic_r-gd.lib
qhull_p-gd.lib
qhull_r-gd.lib
qhullcpp-gd.lib
qhull-gd.lib
qhullstatic-gd.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
 vtkDomainsChemistryOpenGL2-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
 vtkglew-7.0-gd.lib
 vtkGUISupportQt-7.0-gd.lib
 vtkGUISupportQtSQL-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
 vtkRenderingContextOpenGL2-7.0-gd.lib
vtkRenderingCore-7.0-gd.lib
 vtkRenderingFreeType-7.0-gd.lib
 vtkRenderingImage-7.0-gd.lib
 vtkRenderingLabel-7.0-gd.lib
 vtkRenderingLOD-7.0-gd.lib
 vtkRenderingOpenGL2-7.0-gd.lib
 vtkRenderingQt-7.0-gd.lib
 vtkRenderingVolume-7.0-gd.lib
 vtkRenderingVolumeOpenGL2-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
 vtkViewsQt-7.0-gd.lib
 vtkzlib-7.0-gd.lib

在这里插入图片描述
在这里插入图片描述

4.报错配置

不出意外的话,上述三个配置完成后一般会报错。
在这里插入图片描述
解决方法如下:
向c++预处理器添加如下定义:
_SCL_SECURE_NO_WARNINGS
在这里插入图片描述
在这里插入图片描述

5.测试PCD文件读取

//"E:\\01vs2013projects\\PCL_test\\test_pcd.pcd"
#include <iostream> //标准输入输出流
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件

int main(int argc, char** argv)
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // 创建点云(指针)

	if (pcl::io::loadPCDFile<pcl::PointXYZ>("E:\\01vs2013projects\\PCL_test\\test_pcd.pcd", *cloud) == -1) //* 读入PCD格式的文件,如果文件不存在,返回-1
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd \n"); //文件不存在时,返回错误,终止程序。
		return (-1);
	}
	std::cout << "Loaded "
		<< cloud->width * cloud->height
		<< " data points from test_file.pcd with the following fields: "
		<< std::endl;
	//for (size_t i = 0; i < cloud->points.size (); ++i) //显示所有的点
	for (size_t i = 0; i < 5; ++i) // 为了方便观察,只显示前5个点
		std::cout << "    " << cloud->points[i].x
		<< " " << cloud->points[i].y
		<< " " << cloud->points[i].z << std::endl;

	return (0);
}

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@菜鸟一枚

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值