PCL1.9.1下载与配置+Visual Studio2017

1.PCL1.9.1下载

官网下载:
1.百度搜索GitHub,点击进入GitHub主页
2.在如下界面搜索栏中输入pcl,按回车键

3.点击下图所示链接:

4.在新的界面中下拉至如下图所示区域,并点击图中所指链接:

5.在新的界面中下拉至下图所示处:


根据个人电脑系统版本位数进行选择(压缩包和可执行文件均可),博主电脑为64位,故以此为例进行配置

2.安装

傻瓜式安装,双击下载的“PCL-1.9.1-AllInOne-msvc2017-win64.exe”进行安装:

点击下一步:

选择第二个:Add PCL to the system PATH for all users,点击下一步

根据个人喜好选择安装路径(博主选择路径如下):

以下库包默认全选点击安装即可:

安装过程中会跳出如下OpenNI安装界面,选择路径./3rdParty/OpenNI2/安装,(为了之后方便配置环境):

安装完毕。
解压“pcl-1.9.0-pdb-msvc2017-win64.zip”,将解压得到的文件夹中的内容添加到你的PCL安装目录…\PCL 1.9.0\bin中。

pcl安装到此结束。

PCL1.9.1系统环境配置

环境配置:
系统环境配置
计算机->属性->高级系统变量->环境变量,双击Path,


添加如下路径(路径根据自己的安装目录添加)


添加完毕后,注销电脑使配置生效。

3.VS中PCL1.9.1开发环境配置

1.打开VS2017,新建空项目:


输入名字,选择生成文件夹,然后选择“空项目”,直接确定就可以了。

首先要确保自己的vs编译环境是X64,我这里选择的是Debug版本,Release版本配置只有一步不一样,其他都是一样的。(Release版本与Debug版本区别在于Release斑斑运行起来不显示中间变量,速度比Debug快)

以下为项目环境配置(一定要仔细!):
右键点击项目->属性->通用属性->VC++目录—>包含目录中添加红框中的7个目录(博主的OpenNI库安装在PCL1.9.1的目录中的,读者注意检查自己的目录是否正确):
…PCL 1.9.1\include\pcl-1.9
…PCL 1.9.1\3rdParty\Boost\include\boost-1_68
…PCL 1.9.1\3rdParty\Eigen\eigen3
…PCL 1.9.1\3rdParty\FLANN\include
…PCL 1.9.1\3rdParty\Qhull\include
…PCL 1.9.1\3rdParty\OpenNI2\Include
…PCL 1.9.1\3rdParty\VTK\include\vtk-8.1

然后是添加lib目录,在通用属性—>VC++目录—>库目录中添加如下6个目录:
…PCL1.9.1\PCL 1.9.1\lib
…PCL1.9.1\PCL 1.9.1\3rdParty\Boost\lib
…PCL1.9.1\PCL 1.9.1\3rdParty\FLANN\lib
…PCL 1.9.1\3rdParty\OpenNI2\Lib
…PCL1.9.1\PCL 1.9.1\3rdParty\Qhull\lib
…PCL1.9.1\PCL 1.9.1\3rdParty\VTK\lib

在C/C++—>预处理器—>预处理器定义中添加以下内容:
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

将C/C++—>所有选项—>SDL检查改为否。

最后:在通用属性—>链接器—>输入—>附加的依赖项中添加对应的.“lib”文件,主要是添加PCL的“.lib”文件和第三方库中VTK的“.lib”文件。文件有很多,列表附在文章末尾。 检查你的lib文件和我给出的静态链接库版本一不一样,如果不一样这里给出一个快速获取所有静态链接库文件名的方法,方法也附在文章末尾。

PCL的配置到此结束,下面来测试一下:
新建一个main.cpp,代码如下:
#include"stdafx.h"
#include<pcl/visualization/cloud_viewer.h>
#include//标准C++库中的输入输出类相关头文件。
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h> //PCL中支持的点类型头文件。
using namespace std;
using namespace pcl;
void viewerOneOff(visualization::PCLVisualizer& viewer) {
viewer.setBackgroundColor(0, 0, 0); //设置背景颜色为黑色
}
int main() {
PointCloud::Ptr cloud(new PointCloud);
char strfilepath[256] = “rabbit.pcd”;
if (-1 == io::loadPCDFile(strfilepath, *cloud)) {
cout << “error input!” << endl;
return -1;
}
cout << cloud->points.size() << endl;
visualization::CloudViewer viewer(“Cloud Viewer: Rabbit”); //创建viewer对象
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system(“pause”);
return 0;
}
斯坦福兔子rabbit.pcd 点云文件可百度下载
运行结果如下:

可能遇到的报错问题

1.无法解析的外部符号:

这里是引用
1>vtkCommonCore-8.0-gd.lib(vtkWin32OutputWindow.obj) : error LNK2001: 无法解析的外部符号 __imp_MessageBoxA
1>vtkCommonCore-8.0-gd.lib(vtkWin32OutputWindow.obj) : error LNK2019: 无法解析的外部符号 __imp_GetStockObject,该符号在函数 “protected: static int __cdecl vtkWin32OutputWindow::Initialize(void)” (?Initialize@vtkWin32OutputWindow@@KAHXZ) 中被引用


解决办法:仔细检查上述库目录,连接器附加依赖性等内容是否全部添加完整!!!(很重要,此问题错误几乎都是添加内容不完整导致)

2.遇到“XXX被声明为已否决”
直接双击属性表的根目录Debug|X64

然后更改SDL检查为否:

3.检测到XXX的不匹配项:值…(如下图)

解决方法:
1.首先检查你属性表中:链接器—输入—附加依耐项中配置的.lib文件是不是你所用的debug/release版本;
2.如果第一步没错,尝试以下步骤:
直接双击属性表的根目录Release|X64(根据你使用的是Debug还是Release)。找到运行库,更改为其他几个试一下。

3.第三方库flann报错:

添加头文件#include <pcl/registration/icp.h>编译的时候可能会遇到如下报错:

1>…\flann\algorithms\dist.h(523): error C3861: “pop_t”: 找不到标识符
1
解决方法:
(注由于要对第三方库的头文件进行修改,建议先备份一下原头文件,其路径…\PCL 1.9.1\3rdParty\FLANN\include\flann\algorithms\dist.h)
开始解决:
双击该行输出直接打开dist.h头文件;

将第503行的typedef unsigned long long pop_t;移动到第480行前面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200504215911925.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9

复制链接库列表

注意VTK的版本,在你的路径:…PCL1.9.1\PCL 1.9.1\3rdParty\VTK\lib 中查看自己VTK的版本。

Debug版本:注意VTK的版本
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
vtkalglib-8.1-gd.lib
vtkChartsCore-8.1-gd.lib
vtkCommonColor-8.1-gd.lib
vtkCommonComputationalGeometry-8.1-gd.lib
vtkCommonCore-8.1-gd.lib
vtkCommonDataModel-8.1-gd.lib
vtkCommonExecutionModel-8.1-gd.lib
vtkCommonMath-8.1-gd.lib
vtkCommonMisc-8.1-gd.lib
vtkCommonSystem-8.1-gd.lib
vtkCommonTransforms-8.1-gd.lib
vtkDICOMParser-8.1-gd.lib
vtkDomainsChemistry-8.1-gd.lib
vtkexoIIc-8.1-gd.lib
vtkexpat-8.1-gd.lib
vtkFiltersAMR-8.1-gd.lib
vtkFiltersCore-8.1-gd.lib
vtkFiltersExtraction-8.1-gd.lib
vtkFiltersFlowPaths-8.1-gd.lib
vtkFiltersGeneral-8.1-gd.lib
vtkFiltersGeneric-8.1-gd.lib
vtkFiltersGeometry-8.1-gd.lib
vtkFiltersHybrid-8.1-gd.lib
vtkFiltersHyperTree-8.1-gd.lib
vtkFiltersImaging-8.1-gd.lib
vtkFiltersModeling-8.1-gd.lib
vtkFiltersParallel-8.1-gd.lib
vtkFiltersParallelImaging-8.1-gd.lib
vtkFiltersPoints-8.1-gd.lib
vtkFiltersProgrammable-8.1-gd.lib
vtkFiltersSelection-8.1-gd.lib
vtkFiltersSMP-8.1-gd.lib
vtkFiltersSources-8.1-gd.lib
vtkFiltersStatistics-8.1-gd.lib
vtkFiltersTexture-8.1-gd.lib
vtkFiltersTopology-8.1-gd.lib
vtkFiltersVerdict-8.1-gd.lib
vtkfreetype-8.1-gd.lib
vtkGeovisCore-8.1-gd.lib
vtkgl2ps-8.1-gd.lib
vtkhdf5-8.1-gd.lib
vtkhdf5_hl-8.1-gd.lib
vtkImagingColor-8.1-gd.lib
vtkImagingCore-8.1-gd.lib
vtkImagingFourier-8.1-gd.lib
vtkImagingGeneral-8.1-gd.lib
vtkImagingHybrid-8.1-gd.lib
vtkImagingMath-8.1-gd.lib
vtkImagingMorphological-8.1-gd.lib
vtkImagingSources-8.1-gd.lib
vtkImagingStatistics-8.1-gd.lib
vtkImagingStencil-8.1-gd.lib
vtkInfovisCore-8.1-gd.lib
vtkInfovisLayout-8.1-gd.lib
vtkInteractionImage-8.1-gd.lib
vtkInteractionStyle-8.1-gd.lib
vtkInteractionWidgets-8.1-gd.lib
vtkIOAMR-8.1-gd.lib
vtkIOCore-8.1-gd.lib
vtkIOEnSight-8.1-gd.lib
vtkIOExodus-8.1-gd.lib
vtkIOExport-8.1-gd.lib
vtkIOExportOpenGL-8.1-gd.lib
vtkIOGeometry-8.1-gd.lib
vtkIOImage-8.1-gd.lib
vtkIOImport-8.1-gd.lib
vtkIOInfovis-8.1-gd.lib
vtkIOLegacy-8.1-gd.lib
vtkIOLSDyna-8.1-gd.lib
vtkIOMINC-8.1-gd.lib
vtkIOMovie-8.1-gd.lib
vtkIONetCDF-8.1-gd.lib
vtkIOParallel-8.1-gd.lib
vtkIOParallelXML-8.1-gd.lib
vtkIOPLY-8.1-gd.lib
vtkIOSQL-8.1-gd.lib
vtkIOTecplotTable-8.1-gd.lib
vtkIOVideo-8.1-gd.lib
vtkIOXML-8.1-gd.lib
vtkIOXMLParser-8.1-gd.lib
vtkjpeg-8.1-gd.lib
vtkjsoncpp-8.1-gd.lib
vtklibharu-8.1-gd.lib
vtklibxml2-8.1-gd.lib
vtklz4-8.1-gd.lib
vtkmetaio-8.1-gd.lib
vtkNetCDF-8.1-gd.lib
vtknetcdfcpp-8.1-gd.lib
vtkoggtheora-8.1-gd.lib
vtkParallelCore-8.1-gd.lib
vtkpng-8.1-gd.lib
vtkproj4-8.1-gd.lib
vtkRenderingAnnotation-8.1-gd.lib
vtkRenderingContext2D-8.1-gd.lib
vtkRenderingContextOpenGL-8.1-gd.lib
vtkRenderingCore-8.1-gd.lib
vtkRenderingFreeType-8.1-gd.lib
vtkRenderingGL2PS-8.1-gd.lib
vtkRenderingImage-8.1-gd.lib
vtkRenderingLabel-8.1-gd.lib
vtkRenderingLIC-8.1-gd.lib
vtkRenderingLOD-8.1-gd.lib
vtkRenderingOpenGL-8.1-gd.lib
vtkRenderingVolume-8.1-gd.lib
vtkRenderingVolumeOpenGL-8.1-gd.lib
vtksqlite-8.1-gd.lib
vtksys-8.1-gd.lib
vtktiff-8.1-gd.lib
vtkverdict-8.1-gd.lib
vtkViewsContext2D-8.1-gd.lib
vtkViewsCore-8.1-gd.lib
vtkViewsInfovis-8.1-gd.lib
vtkzlib-8.1-gd.lib

Release版本:注意VTK的版本
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_ml_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_stereo_release.lib
pcl_surface_release.lib
pcl_tracking_release.lib
pcl_visualization_release.lib
vtkalglib-8.1.lib
vtkChartsCore-8.1.lib
vtkCommonColor-8.1.lib
vtkCommonComputationalGeometry-8.1.lib
vtkCommonCore-8.1.lib
vtkCommonDataModel-8.1.lib
vtkCommonExecutionModel-8.1.lib
vtkCommonMath-8.1.lib
vtkCommonMisc-8.1.lib
vtkCommonSystem-8.1.lib
vtkCommonTransforms-8.1.lib
vtkDICOMParser-8.1.lib
vtkDomainsChemistry-8.1.lib
vtkexoIIc-8.1.lib
vtkexpat-8.1.lib
vtkFiltersAMR-8.1.lib
vtkFiltersCore-8.1.lib
vtkFiltersExtraction-8.1.lib
vtkFiltersFlowPaths-8.1.lib
vtkFiltersGeneral-8.1.lib
vtkFiltersGeneric-8.1.lib
vtkFiltersGeometry-8.1.lib
vtkFiltersHybrid-8.1.lib
vtkFiltersHyperTree-8.1.lib
vtkFiltersImaging-8.1.lib
vtkFiltersModeling-8.1.lib
vtkFiltersParallel-8.1.lib
vtkFiltersParallelImaging-8.1.lib
vtkFiltersPoints-8.1.lib
vtkFiltersProgrammable-8.1.lib
vtkFiltersSelection-8.1.lib
vtkFiltersSMP-8.1.lib
vtkFiltersSources-8.1.lib
vtkFiltersStatistics-8.1.lib
vtkFiltersTexture-8.1.lib
vtkFiltersTopology-8.1.lib
vtkFiltersVerdict-8.1.lib
vtkfreetype-8.1.lib
vtkGeovisCore-8.1.lib
vtkgl2ps-8.1.lib
vtkhdf5-8.1.lib
vtkhdf5_hl-8.1.lib
vtkImagingColor-8.1.lib
vtkImagingCore-8.1.lib
vtkImagingFourier-8.1.lib
vtkImagingGeneral-8.1.lib
vtkImagingHybrid-8.1.lib
vtkImagingMath-8.1.lib
vtkImagingMorphological-8.1.lib
vtkImagingSources-8.1.lib
vtkImagingStatistics-8.1.lib
vtkImagingStencil-8.1.lib
vtkInfovisCore-8.1.lib
vtkInfovisLayout-8.1.lib
vtkInteractionImage-8.1.lib
vtkInteractionStyle-8.1.lib
vtkInteractionWidgets-8.1.lib
vtkIOAMR-8.1.lib
vtkIOCore-8.1.lib
vtkIOEnSight-8.1.lib
vtkIOExodus-8.1.lib
vtkIOExport-8.1.lib
vtkIOExportOpenGL-8.1.lib
vtkIOGeometry-8.1.lib
vtkIOImage-8.1.lib
vtkIOImport-8.1.lib
vtkIOInfovis-8.1.lib
vtkIOLegacy-8.1.lib
vtkIOLSDyna-8.1.lib
vtkIOMINC-8.1.lib
vtkIOMovie-8.1.lib
vtkIONetCDF-8.1.lib
vtkIOParallel-8.1.lib
vtkIOParallelXML-8.1.lib
vtkIOPLY-8.1.lib
vtkIOSQL-8.1.lib
vtkIOTecplotTable-8.1.lib
vtkIOVideo-8.1.lib
vtkIOXML-8.1.lib
vtkIOXMLParser-8.1.lib
vtkjpeg-8.1.lib
vtkjsoncpp-8.1.lib
vtklibharu-8.1.lib
vtklibxml2-8.1.lib
vtklz4-8.1.lib
vtkmetaio-8.1.lib
vtkNetCDF-8.1.lib
vtknetcdfcpp-8.1.lib
vtkoggtheora-8.1.lib
vtkParallelCore-8.1.lib
vtkpng-8.1.lib
vtkproj4-8.1.lib
vtkRenderingAnnotation-8.1.lib
vtkRenderingContext2D-8.1.lib
vtkRenderingContextOpenGL-8.1.lib
vtkRenderingCore-8.1.lib
vtkRenderingFreeType-8.1.lib
vtkRenderingGL2PS-8.1.lib
vtkRenderingImage-8.1.lib
vtkRenderingLabel-8.1.lib
vtkRenderingLIC-8.1.lib
vtkRenderingLOD-8.1.lib
vtkRenderingOpenGL-8.1.lib
vtkRenderingVolume-8.1.lib
vtkRenderingVolumeOpenGL-8.1.lib
vtksqlite-8.1.lib
vtksys-8.1.lib
vtktiff-8.1.lib
vtkverdict-8.1.lib
vtkViewsContext2D-8.1.lib
vtkViewsCore-8.1.lib
vtkViewsInfovis-8.1.lib
vtkzlib-8.1.lib

如何获取自己的链接库列表

win+r调出“运行”窗口并输出cmd
输入:cd /d D:\P_pcl\PCL1.9.0\PCL 1.9.0\3rdParty\VTK\lib 回车 (填自己的路径)
输入:dir /b *.lib *>lib.txt 回车

这时打开你对应路径的目录,多了一个lib.txt文件,里面存了你这个文件夹里所有链接库名字。

由于每一个Debug版本和Release版本的链接库是挨在一起的。写一个读取文档并对其分别保存就行了。
具体代码如下(主要功能是读取一个txt文件,将其中奇数行和偶数行单独输出到新的txt文档。):

#include
#include
#include
#include
using namespace std;

int main()
{
ifstream txtfile;//打开读取的文件
ofstream txt01;//保存的文件
ofstream txt02;//保存的文件
string temp;
int index = 0;//用于判断奇偶

txtfile.open("0.txt", ios::in);while (!txtfile.eof())            // 若未到文件结束一直循环
{getline(txtfile, temp);//一行一行读取if (index%2==0)//判断除以2的余数,即为奇偶的判断{txt01.open("1.txt", ios::app);txt01 << temp;txt01 << endl;txt01.close();}else{txt02.open("2.txt", ios::app);txt02 << temp;txt02 << endl;txt02.close();}index++;
}
txtfile.close();   //关闭文件
txtfile.close();
txt01.close();
txt02.close();return 0;

}

PCL1.9.1下载与配置+Visual Studio2017相关推荐

  1. QT下载安装和Visual Studio环境配置

    文章目录 下载QT VS2019配置QT环境 1. 下载QT插件 2. 配置QT插件路径 3. 构建Qt Widget Application 参考自 Visual Studio 2019(VS 20 ...

  2. 如何解决visual studio2017 install 下载安装极慢的问题

    如何解决visual studio2017 install 下载安装极慢的问题 参考文章: (1)如何解决visual studio2017 install 下载安装极慢的问题 (2)https:// ...

  3. OpenCV在visual studio 2022中的下载与配置

    OpenCV在visual studio 2022中的下载与配置 opencv的下载 环境变量的更改 visual studio 中的配置 配置文件 代码测试环节 opencv的下载 我个人用的是vi ...

  4. Visual Studio2017下载MSDN帮助文档

    ①打开安装程序,在单个组件里勾选代码工具里的Help Viewer,如下图. ②打开Visual Studio2017主程序,选择  帮助-设置帮助首选项-在帮助查看器中启动,如下图. ③接着会弹出一 ...

  5. visual stdio 2022下载及配置方式

    visual stdio又出了一个新版本--visual stdio 2022,下载计划使用时发现有一些坑,希望大家看完之后不会跳进坑里不知怎么做. 1.下载时一定要找官网 官网下载地址: Visua ...

  6. 在windows下基于visual studio2017和CMake的安装Google glog

    这里简单记录安装google glog在windows下基于visual studio2017的安装过程. 下载 https://github.com/google/glog 使用cmake编译,编译 ...

  7. win7虚拟机上安装visual studio2017社区版的相关问题以及解决办法

    win7虚拟机上安装visual studio2017社区版的相关问题以及解决办法 一.visual studio community_2017在虚拟机win7安装时出现的问题 1.右击软件图标,点击 ...

  8. IDE之VS:Visual Studio2017版本安装图文教程之详细攻略

    IDE之VS:Visual Studio2017版本安装图文教程之详细攻略 目录 Visual Studio2017版本安装图文教程之详细攻略 VS2017社区版本安装-20201011 1.下载版本 ...

  9. eclipse 3.6的VE配置 Visual Editor for eclipse3.6

    [转]eclipse 3.6的VE配置 Visual Editor for eclipse3.6 擦.eclipse3.6的VE竟然配好了.很简单.记下来,以后备用. 一.下载以下4个软件 1.Ecl ...

最新文章

  1. linux改组ID号会对数据库有影响么,truncate操作导致DATA_OBJECT_ID改变
  2. 转 理论联系实践较好的JVM的理解
  3. Oracle TNS 不能启动
  4. 王达:影响100万网管员的“网管员”『英雄故事』
  5. 开发部署提速8倍!这款IDE插件了解一下?
  6. python【蓝桥杯vip练习题库】ALGO-120 学做菜
  7. Asp.net中防止用户多次登录的方法
  8. 10 在Spring Cloud中使用Hystrix
  9. postgresql点云las_点云模型_点云模型_模型_时空数据库_PolarDB PostgreSQL 云原生数据库 - 阿里云...
  10. 很经典的独白,搞网络的童鞋们,你们懂得
  11. 二婚不领证吃亏的是谁?
  12. WebRTC-集成qsv硬解码实现
  13. 3h精通OpenCV(二)-基本功能
  14. FCKeditor的JSP版漏洞
  15. linux下哪个输入法最好,[最好]linux下输入法→linux下输入法
  16. linux系统如何重置密码
  17. Epub,Mobi,Azw3电子书格式的区别,有什么好用的IOS手机epub阅读器
  18. 手把手教你搭建自己的微信公众号
  19. knn代码实现+可视化
  20. vue项目中Echarts两个图表之间连接两条线

热门文章

  1. org.w3c.dom。 XML解析 练习
  2. android app报告,知乎APP用户体验报告
  3. 统计年鉴 excel
  4. 将Excel数据导入Matlab+Matlab二次曲线拟合
  5. 图灵机的逻辑等价形式——lambda演算简介
  6. XSS插入绕过一些方式总结
  7. Docker 入门,万字详解!
  8. java过滤器命名_Java命名目录接口(JNDI)教程
  9. PKUSC 2018 游记
  10. 免费邮箱客户端设置方法大全