安装环境:VS2017+win8+64位
由于当时安装VS安装的是2017版本,所以参考了网上2015版本进行相关安装和配置。
准备:
首先下载这两个文件:(链接里还有VS2015,根据自己版本下载)![](/assets/blank.gif)
PCL-1.8.1-AllInOne-msvc2017-win64.exe // All in one 安装包基本上包含了PCL中所使用全部第三方编译包
PCL-1.8.1-pdb-msvc2017-win64.zip //PDB文件包主要用于后期单步调试时使用
下载地址:https://github.com/PointCloudLibrary/pcl/releases
- 点开PCL-1.8.1-AllInOne-msvc2017-win64.exe安装一键安装包,然后选择自己的安装目录,勾选上Add PCL to system PATH for all users,安装组件默认全选就好,最后点安装;(时间可能有点久,耐心等)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![]()
![]()
![]()
- 由于组件中我们选择了openni,在安装过程中会提示需要安装openni,这时注意我们更改openni的安装路径为PCL安装路径下的3rdParty\OpenNI2\文件夹,然后同意安装PrimerSense,基本上就已经安装完了,接下来配置系统变量。
- 由于我们勾选了Add PCL to system PATH for all users,安装好后,系统变量里会自动出现下面的几个变量
![](/assets/blank.gif)
![](/assets/blank.gif)
![]()
![]()
- 接下来我们还要在Path变量下添加几个变量:%PCL_ROOT\bin;%PCL_ROOT%\3rdParty\VTK\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%OPENNI2_REDIST64%;%PCL_ROOT%\3rdParty\Qhull\bin;%PCL_ROOT%\3rdParty\OpenNI2\Tools
- 然后重启电脑使它生效;最后解压PCL-1.8.1-pdb-msvc2017-win64.zip,将里面的pdb文件全部复制到PCL安装路径下bin文件夹中;
现在PCL已经安装好了,我们可以开始配置VS2017开发环境
(1)新建一个空项目,将项目设置成64位。
(2)切换属性管理器,在Debug|64下添加新项目属性表,取名PCL。
(3)左侧点 VC++目录 ,右侧包含目录添加:
D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Include; D:\Program Files\PCL 1.8.1\include\pcl-1.8; D:\Program Files\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0; D:\Program Files\PCL 1.8.1\3rdParty\QHull\include; D:\Program Files\PCL 1.8.1\3rdParty\FLANN\include; D:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3; D:\Program Files\PCL 1.8.1\3rdParty\Boost\include\boost-1_64;
右侧库目录添加:
D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Lib;D:\Program Files\PCL 1.8.1\3rdParty\VTK\lib;D:\Program Files\PCL 1.8.1\3rdParty\Qhull\lib;D:\Program Files\PCL 1.8.1\3rdParty\FLANN\lib;D:\Program Files\PCL 1.8.1\3rdParty\Boost\lib;D:\Program Files\PCL 1.8.1\lib;
左侧点链接器,再点输入,找到附加依赖项,添加如下(最后额外添加一个 opengl32.lib的库,不然会报错,大概158个链接错误,评论区有出现过) :
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
(注意:上边的包含目录,库目录按你自己的来,附加依赖项有些库版本不同,根据自己文件夹来)
(4)(出现错误erroe c4996;_Uninitialized_copy0时添加)
右侧CC++,点击预处理器,右侧预处理器定义,添加上
_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS![](/assets/blank.gif)
(5)(可以不设置)
项目环境目录配置:右键解决方案,属性,左侧配置属性–调试,右侧环境设置为: PATH=$(PCL_ROOT)\bin;$(PCL_ROOT)\3rdParty\FLANN\bin;$(PCL_ROOT)\3rdParty\VTK\bin;$(PCL_ROOT)\Qhull\bin;$(PCL_ROOT)\3rdParty\OpenNI2\Tools;$(PATH)
![](/assets/blank.gif)
安装测试
将下面代码拷贝到vs里,点运行,出现控制台窗口后,提示未找到点云文件,这个可以不管,不报错误,即成功配置pcl。
#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 renderedviewer.showCloud(cloud);//use the following functions to get access to the underlying more advanced/powerful//PCLVisualizer//This will only get called onceviewer.runOnVisualizationThreadOnce(viewerOneOff);//This will get called once per visualization iterationviewer.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;
}
win8安装PCL1.8.1配置VS2017相关推荐
- VS2017社区版+PCL1.9.1配置
Visual Studio 2017 Community 百度搜索,登录微软官网,下载Visual Studio 2017 Community版本安装包,运行引导文件,选择需要安装的组件,一步步运行安 ...
- win8能开发android的sdk么,Win8下Android SDK安装与环境变量配置教程
Win8下Android SDK的安装与环境变量配置,具体内容如下 1.下载Android SDK,点击安装,直接默认路径即可! 进入该网站后往下拉就能找到sdk下载的位置,选择图中红圈的程序进行下载 ...
- w8计算机配置要求,安装Win8对电脑硬件的配置要求
随着Win8系统不断的完善,越来越多的用户开始安装体验,这时候就出现了一个疑惑,很多用户考虑到Win8系统对电脑的硬件有何要求,怎么样的配置才能让Win8更好的运行呢?下面小编整理了一些具体数据,可供 ...
- Qt配置VS2017
目录 一 Qt安装 二 VS2017安装 三 Qt配置VS2017 一 Qt安装 1.1 下载网址:http://download.qt.io/archive/qt/ 这里选择 ...
- CUDA10.1配置VS2017
目录 一 CUDA 安装 二 CUDA环境变量配置 三 CUDA配置VS2017 一 CUDA 安装 1.1 CUDA下载 网址:https://developer.nvidia.com ...
- 计算机配置太低,安装Win10系统电脑配置太低怎么办
现在电脑更新换代都很快,几年前的主流电脑配置跟现在比起来就差了一大截.Win10系统电脑配置要求不高,但是还是有一些比较老的机子无法安装Win10.那么想要安装Win10系统电脑配置太低怎么办呢?下面 ...
- C++cgal库配置+VS2017
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 CGAL配置+vs2017 一.下载CGAL库 1.1 CGAL下载链接:https://github.com/CGAL/c ...
- PCL库学习(8)_点云调参系统之环境搭建QT5.7.0+VS2013+PCL1.8.0配置
功能1:单帧点云的加载与可视化: 功能2:多帧点云的加载与可视化:(未实现,可提供源码) 功能3:点云滤波,包括但不限于直通滤波.体素栅格滤波.半径滤波等等: 功能4:地面点检测,包括但不限于Lego ...
- 记Win8安装Kubuntu双系统的那些事...
记Win8安装Kubuntu双系统的那些事- 废话 之前一直用的Win8-前段时间安装了kubuntu,现在完全转移到kubuntu了. 虽然之前我一直用Win8,但并不是指就没接触过linux了,我 ...
最新文章
- 由于找不到PBSYS90.dll,无法继续执行代码。重新安装程序可能会解决此问题!
- vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
- Server2012R2 ADFS3.0 The same client browser session has made '6' requests in the last '13'seconds
- Java在Linux下创建文件,文件夹,删除,拷贝文件的命令
- SVN使用过程中遇到的一些问题
- 服装零售行业洞察报告
- Spring Cloud (断路器) Hystrix(三)
- C++ 单链表基本操作
- 《Java就业培训教程》_张孝祥_书内源码_09
- 微信小游戏飞机大战Cocos Creator+TypeScript
- VMware如何彻底卸载干净
- 什么是储蓄池抽样(Reservoir Sampling)算法?
- jquery下载所有版本(实时更新)
- ajax常见面试问题
- http请求报文头部vary信息
- java value是什么意思_“预期 Value ,发现特质”是什么意思?
- 红帽RHCE认证含金量怎么样?学红帽难吗?
- 315Mhz、433Mhz无线遥控信号的解码分析和模拟
- sd卡不小心格式化怎么恢复,sd卡格式化后恢复数据
- ad域 父域 管理 子域_如何正确地将WordPress从子域移动到根域
热门文章
- 一个纯净的linux基本部署
- Go语言基础篇 (一)初识Golang
- MVVM 中 TextBlock字符显示不同的颜色
- B-Integration(待定系数法)
- mysql聚合函数求数据总和的语句_以下聚合函数求数据总和的是( )_学小易找答案...
- win 10 word 打不出中文句号 微软拼音输入法
- 项目经理的职责和权利
- U盘的卸载挂载和格式化操作
- 最新!教育部发布2019全国高校名单(2956所)
- Linux_15_软件安装-RPM/YUM