PCL--win8 64位系统 vs2013下的安装

PCL在VS2013下的安装配置教程

一.下载版本

1.关于vs,我用的是vs2013版本

2.关于PCL我用的是PCL 1.8.0 win64版本  当然你也可以用win32版本(我这里有提供win32版本下的)

    这里是我安装的文件的地址链接:https://pan.baidu.com/s/1S_4IYzE2jPcdyfSm6lEkYA 密码:otnu

里面有一个PCL1.8.0文件和一个pdb文件,两个都要下载,之后会有用处

3.我是在win8系统上进行操作的,目测这一款在win7、win10上面也可以实现

二.安装文件

1.首先安装pcl1.8


一路点下去就行了,注意下一步


选择第二项给所有用户使用,之后是选择安装路径,我选择的是安装在D盘(C盘容量实在是可人),不过不会影响后续的操作


接下来选择安装类型,因为这里讲解安装在vs2013下,所以其余的就不赘述,直接选择visual studio 2013


再下一步,安装就好了。

2.安装结束后,你打开你所安装路径


如果这里面的文件是这样


说明OpenNI已经安装成功,如果只是


那么你还需要手动安装。

接下来你可以直接打开OpenNI.msi文件,如果在安装的过程中出现2503错误,下面给出解决办法。

鼠标右击屏幕左下角的微软标志,,点击打开命令提示符,管理员按钮。然后在dos命令行里面运行上述安装文件

OpenNI-Windows-x64-2.2.msi。这里提示一下,dos系统下进入下一级菜单的按钮是cd  路径名,初始在C盘,如果你安装在别的盘,那就是X:(x代表你将pcl安装的盘)

3.接下来将文件pdb解压


然后将里面的文件复制到

这个路径下,因为我将pcl安装在了PCL--OLT下,之后不再说明

4.接下来可以看系统变量

里面会有这样四行



之后我们在选项path下添加


;%PCL_ROOT%\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%PCL_ROOT%\3rdParty\VTK\bin;%PCL_ROOT%\Qhull\bin;%PCL_ROOT%\3rdParty\OpenNI2\Tools  注意,之前的这个;很重要

之后将电脑重启

三.环境配置

1.打开vs2013

2.创建一个新的win32控制台项目,选择空项目


完成

3.在配置管理器中


新建


自己输入x64,就是64下的了


4.之后,打开项目属性栏

在VC++栏中,选择包含目录


导入:

D:\PCL--OLT\PCL 1.8.0\include\pcl-1.8

D:\PCL--OLT\PCL 1.8.0\3rdParty\Boost\include\boost-1_61

D:\PCL--OLT\PCL 1.8.0\3rdParty\Qhull\include

D:\PCL--OLT\PCL 1.8.0\3rdParty\FLANN\include\flann

D:\PCL--OLT\PCL 1.8.0\3rdParty\VTK\include\vtk-7.0

D:\PCL--OLT\PCL 1.8.0\3rdParty\Eigen\eigen3



同时,在库目录中导入

D:\PCL--OLT\PCL 1.8.0\3rdParty\VTK\lib

D:\PCL--OLT\PCL 1.8.0\3rdParty\FLANN\lib

D:\PCL--OLT\PCL 1.8.0\3rdParty\Qhull\lib

D:\PCL--OLT\PCL 1.8.0\3rdParty\Boost\lib

D:\PCL--OLT\PCL 1.8.0\lib



之后在链接器中




在附加依赖项上添加

Debug:

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_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_surface_debug.lib
pcl_tracking_debug.lib
pcl_visualization_debug.lib
libboost_atomic-vc120-mt-gd-1_61.lib
libboost_chrono-vc120-mt-gd-1_61.lib
libboost_container-vc120-mt-gd-1_61.lib
libboost_context-vc120-mt-gd-1_61.lib
libboost_coroutine-vc120-mt-gd-1_61.lib
libboost_date_time-vc120-mt-gd-1_61.lib
libboost_exception-vc120-mt-gd-1_61.lib
libboost_filesystem-vc120-mt-gd-1_61.lib
libboost_graph-vc120-mt-gd-1_61.lib
libboost_iostreams-vc120-mt-gd-1_61.lib
libboost_locale-vc120-mt-gd-1_61.lib
libboost_log-vc120-mt-gd-1_61.lib
libboost_log_setup-vc120-mt-gd-1_61.lib
libboost_math_c99-vc120-mt-gd-1_61.lib
libboost_math_c99f-vc120-mt-gd-1_61.lib
libboost_math_c99l-vc120-mt-gd-1_61.lib
libboost_math_tr1-vc120-mt-gd-1_61.lib
libboost_math_tr1f-vc120-mt-gd-1_61.lib
libboost_math_tr1l-vc120-mt-gd-1_61.lib
libboost_mpi-vc120-mt-gd-1_61.lib
libboost_prg_exec_monitor-vc120-mt-gd-1_61.lib
libboost_program_options-vc120-mt-gd-1_61.lib
libboost_random-vc120-mt-gd-1_61.lib
libboost_regex-vc120-mt-gd-1_61.lib
libboost_serialization-vc120-mt-gd-1_61.lib
libboost_signals-vc120-mt-gd-1_61.lib
libboost_system-vc120-mt-gd-1_61.lib
libboost_test_exec_monitor-vc120-mt-gd-1_61.lib
libboost_thread-vc120-mt-gd-1_61.lib
libboost_timer-vc120-mt-gd-1_61.lib
libboost_type_erasure-vc120-mt-gd-1_61.lib
libboost_unit_test_framework-vc120-mt-gd-1_61.lib
libboost_wave-vc120-mt-gd-1_61.lib
libboost_wserialization-vc120-mt-gd-1_61.lib
flann_cpp_s-gd.lib
flann_s-gd.lib
flann-gd.lib
qhull_d.lib
qhull_p_d.lib
qhull_r_d.lib
qhullcpp_d.lib
qhullstatic_d.lib
qhullstatic_r_d.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
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
vtkFiltersSMP-7.0-gd.lib
vtkFiltersSelection-7.0-gd.lib
vtkFiltersSources-7.0-gd.lib
vtkFiltersStatistics-7.0-gd.lib
vtkFiltersTexture-7.0-gd.lib
vtkFiltersVerdict-7.0-gd.lib
vtkGeovisCore-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
vtkIOLSDyna-7.0-gd.lib
vtkIOLegacy-7.0-gd.lib
vtkIOMINC-7.0-gd.lib
vtkIOMovie-7.0-gd.lib
vtkIONetCDF-7.0-gd.lib
vtkIOPLY-7.0-gd.lib
vtkIOParallel-7.0-gd.lib
vtkIOParallelXML-7.0-gd.lib
vtkIOSQL-7.0-gd.lib
vtkIOVideo-7.0-gd.lib
vtkIOXML-7.0-gd.lib
vtkIOXMLParser-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
vtkNetCDF-7.0-gd.lib
vtkNetCDF_cxx-7.0-gd.lib
vtkParallelCore-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
vtkRenderingLIC-7.0-gd.lib
vtkRenderingLOD-7.0-gd.lib
vtkRenderingLabel-7.0-gd.lib
vtkRenderingOpenGL-7.0-gd.lib
vtkRenderingVolume-7.0-gd.lib
vtkRenderingVolumeOpenGL-7.0-gd.lib
vtkViewsContext2D-7.0-gd.lib
vtkViewsCore-7.0-gd.lib
vtkViewsInfovis-7.0-gd.lib
vtkalglib-7.0-gd.lib
vtkexoIIc-7.0-gd.lib
vtkexpat-7.0-gd.lib
vtkfreetype-7.0-gd.lib
vtkgl2ps-7.0-gd.lib
vtkhdf5-7.0-gd.lib
vtkhdf5_hl-7.0-gd.lib
vtkjpeg-7.0-gd.lib
vtkjsoncpp-7.0-gd.lib
vtklibxml2-7.0-gd.lib
vtkmetaio-7.0-gd.lib
vtkoggtheora-7.0-gd.lib
vtkpng-7.0-gd.lib
vtkproj4-7.0-gd.lib
vtksqlite-7.0-gd.lib
vtksys-7.0-gd.lib
vtktiff-7.0-gd.lib
vtkverdict-7.0-gd.lib

vtkzlib-7.0-gd.lib

opengl32.lib

这是在debug下配置的,如果要用到release,那么这一部分改成

Release:

pcl_common_release.lib
pcl_features_release.lib
pcl_filters_release.lib
pcl_io_ply_release.lib
pcl_io_release.lib
pcl_kdtree_release.lib
pcl_keypoints_release.lib
pcl_octree_release.lib
pcl_outofcore_release.lib
pcl_people_release.lib
pcl_recognition_release.lib
pcl_registration_release.lib
pcl_sample_consensus_release.lib
pcl_search_release.lib
pcl_segmentation_release.lib
pcl_surface_release.lib
pcl_tracking_release.lib
pcl_visualization_release.lib
libboost_atomic-vc120-mt-1_61.lib
libboost_chrono-vc120-mt-1_61.lib
libboost_container-vc120-mt-1_61.lib
libboost_context-vc120-mt-1_61.lib
libboost_coroutine-vc120-mt-1_61.lib
libboost_date_time-vc120-mt-1_61.lib
libboost_exception-vc120-mt-1_61.lib
libboost_filesystem-vc120-mt-1_61.lib
libboost_graph-vc120-mt-1_61.lib
libboost_iostreams-vc120-mt-1_61.lib
libboost_locale-vc120-mt-1_61.lib
libboost_log-vc120-mt-1_61.lib
libboost_log_setup-vc120-mt-1_61.lib
libboost_math_c99-vc120-mt-1_61.lib
libboost_math_c99f-vc120-mt-1_61.lib
libboost_math_c99l-vc120-mt-1_61.lib
libboost_math_tr1-vc120-mt-1_61.lib
libboost_math_tr1f-vc120-mt-1_61.lib
libboost_math_tr1l-vc120-mt-1_61.lib
libboost_mpi-vc120-mt-1_61.lib
libboost_prg_exec_monitor-vc120-mt-1_61.lib
libboost_program_options-vc120-mt-1_61.lib
libboost_random-vc120-mt-1_61.lib
libboost_regex-vc120-mt-1_61.lib
libboost_serialization-vc120-mt-1_61.lib
libboost_signals-vc120-mt-1_61.lib
libboost_system-vc120-mt-1_61.lib
libboost_test_exec_monitor-vc120-mt-1_61.lib
libboost_thread-vc120-mt-1_61.lib
libboost_timer-vc120-mt-1_61.lib
libboost_type_erasure-vc120-mt-1_61.lib
libboost_unit_test_framework-vc120-mt-1_61.lib
libboost_wave-vc120-mt-1_61.lib
libboost_wserialization-vc120-mt-1_61.lib
flann_cpp_s.lib
flann_s.lib
flann.lib
qhull.lib
qhull_p.lib
qhull_r.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.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
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
vtkFiltersSMP-7.0.lib
vtkFiltersSelection-7.0.lib
vtkFiltersSources-7.0.lib
vtkFiltersStatistics-7.0.lib
vtkFiltersTexture-7.0.lib
vtkFiltersVerdict-7.0.lib
vtkGeovisCore-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
vtkIOLSDyna-7.0.lib
vtkIOLegacy-7.0.lib
vtkIOMINC-7.0.lib
vtkIOMovie-7.0.lib
vtkIONetCDF-7.0.lib
vtkIOPLY-7.0.lib
vtkIOParallel-7.0.lib
vtkIOParallelXML-7.0.lib
vtkIOSQL-7.0.lib
vtkIOVideo-7.0.lib
vtkIOXML-7.0.lib
vtkIOXMLParser-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
vtkNetCDF-7.0.lib
vtkNetCDF_cxx-7.0.lib
vtkParallelCore-7.0.lib
vtkRenderingAnnotation-7.0.lib
vtkRenderingContext2D-7.0.lib
vtkRenderingContextOpenGL-7.0.lib
vtkRenderingCore-7.0.lib
vtkRenderingFreeType-7.0.lib
vtkRenderingGL2PS-7.0.lib
vtkRenderingImage-7.0.lib
vtkRenderingLIC-7.0.lib
vtkRenderingLOD-7.0.lib
vtkRenderingLabel-7.0.lib
vtkRenderingOpenGL-7.0.lib
vtkRenderingVolume-7.0.lib
vtkRenderingVolumeOpenGL-7.0.lib
vtkViewsContext2D-7.0.lib
vtkViewsCore-7.0.lib
vtkViewsInfovis-7.0.lib
vtkalglib-7.0.lib
vtkexoIIc-7.0.lib
vtkexpat-7.0.lib
vtkfreetype-7.0.lib
vtkgl2ps-7.0.lib
vtkhdf5-7.0.lib
vtkhdf5_hl-7.0.lib
vtkjpeg-7.0.lib
vtkjsoncpp-7.0.lib
vtklibxml2-7.0.lib
vtkmetaio-7.0.lib
vtkoggtheora-7.0.lib
vtkpng-7.0.lib
vtkproj4-7.0.lib
vtksqlite-7.0.lib
vtksys-7.0.lib
vtktiff-7.0.lib
vtkverdict-7.0.lib
vtkzlib-7.0.lib

基本上是将gd去掉了,gd缩写代表debug(首尾字母

我自己并没有尝试release下的配置,所以不清楚要不要加opengl32.dll  如果你在编译时出现link错误,尝试在预处理定义下再加上opengl32.dll试一下


5.之后可以写一个示例程序,在源文件中新建一个文件,将代码复制进去

#include <pcl/visualization/cloud_viewer.h>  
#include <iostream>  
#include <pcl/io/io.h>  
#include <pcl/io/pcd_io.h> 
#include <vtkAutoInit.h>

VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
VTK_MODULE_INIT(vtkRenderingOpenGL);

int user_data;

void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
	viewer.setBackgroundColor(1.0, 0.5, 1.0);
	pcl::PointXYZ o;
	o.x = 1.0;
	o.y = 0;
	o.z = 0;
	viewer.addSphere(o, 0.25, "sphere", 0);
	std::cout << "i only run once" << std::endl;

}

void viewerPsycho(pcl::visualization::PCLVisualizer& viewer)
{
	static unsigned count = 0;
	std::stringstream ss;
	ss << "Once per viewer loop: " << count++;
	viewer.removeShape("text", 0);
	viewer.addText(ss.str(), 200, 300, "text", 0);

	//FIXME: possible race condition here:  
	user_data++;
}

int main()
{
	pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
	pcl::io::loadPCDFile("my_point_cloud.pcd", *cloud);

	pcl::visualization::CloudViewer viewer("Cloud Viewer");



	//blocks until the cloud is actually rendered  
	viewer.showCloud(cloud);

	//use the following functions to get access to the underlying more advanced/powerful  
	//PCLVisualizer  

	//This will only get called once  
	viewer.runOnVisualizationThreadOnce(viewerOneOff);

	//This will get called once per visualization iteration  
	viewer.runOnVisualizationThread(viewerPsycho);
	while (!viewer.wasStopped())
	{
		//you can also do cool processing here  
		//FIXME: Note that this is running in a separate thread from viewerPsycho  
		//and you should guard against race conditions yourself...  
		user_data++;
	}
	return 0;
}

6.如果运行出现错误erroe c4996;_Uninitialized_copy0

在这里


预处理器中加上_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS


到此,我的pcl调试就整体结束了,然后我们尝试了一下我们给出的程序

执行结果:



参考博客:

https://www.cnblogs.com/li-yao7758258/p/8066352.html

https://blog.youkuaiyun.com/wi162yyxq/article/details/53513621

https://blog.youkuaiyun.com/qq_36226393/article/details/77725775?locationNum=9&fps=1









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值