PCL1.9.1下载与配置+Visual Studio2017
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相关推荐
- QT下载安装和Visual Studio环境配置
文章目录 下载QT VS2019配置QT环境 1. 下载QT插件 2. 配置QT插件路径 3. 构建Qt Widget Application 参考自 Visual Studio 2019(VS 20 ...
- 如何解决visual studio2017 install 下载安装极慢的问题
如何解决visual studio2017 install 下载安装极慢的问题 参考文章: (1)如何解决visual studio2017 install 下载安装极慢的问题 (2)https:// ...
- OpenCV在visual studio 2022中的下载与配置
OpenCV在visual studio 2022中的下载与配置 opencv的下载 环境变量的更改 visual studio 中的配置 配置文件 代码测试环节 opencv的下载 我个人用的是vi ...
- Visual Studio2017下载MSDN帮助文档
①打开安装程序,在单个组件里勾选代码工具里的Help Viewer,如下图. ②打开Visual Studio2017主程序,选择 帮助-设置帮助首选项-在帮助查看器中启动,如下图. ③接着会弹出一 ...
- visual stdio 2022下载及配置方式
visual stdio又出了一个新版本--visual stdio 2022,下载计划使用时发现有一些坑,希望大家看完之后不会跳进坑里不知怎么做. 1.下载时一定要找官网 官网下载地址: Visua ...
- 在windows下基于visual studio2017和CMake的安装Google glog
这里简单记录安装google glog在windows下基于visual studio2017的安装过程. 下载 https://github.com/google/glog 使用cmake编译,编译 ...
- win7虚拟机上安装visual studio2017社区版的相关问题以及解决办法
win7虚拟机上安装visual studio2017社区版的相关问题以及解决办法 一.visual studio community_2017在虚拟机win7安装时出现的问题 1.右击软件图标,点击 ...
- IDE之VS:Visual Studio2017版本安装图文教程之详细攻略
IDE之VS:Visual Studio2017版本安装图文教程之详细攻略 目录 Visual Studio2017版本安装图文教程之详细攻略 VS2017社区版本安装-20201011 1.下载版本 ...
- eclipse 3.6的VE配置 Visual Editor for eclipse3.6
[转]eclipse 3.6的VE配置 Visual Editor for eclipse3.6 擦.eclipse3.6的VE竟然配好了.很简单.记下来,以后备用. 一.下载以下4个软件 1.Ecl ...
最新文章
- linux改组ID号会对数据库有影响么,truncate操作导致DATA_OBJECT_ID改变
- 转 理论联系实践较好的JVM的理解
- Oracle TNS 不能启动
- 王达:影响100万网管员的“网管员”『英雄故事』
- 开发部署提速8倍!这款IDE插件了解一下?
- python【蓝桥杯vip练习题库】ALGO-120 学做菜
- Asp.net中防止用户多次登录的方法
- 10 在Spring Cloud中使用Hystrix
- postgresql点云las_点云模型_点云模型_模型_时空数据库_PolarDB PostgreSQL 云原生数据库 - 阿里云...
- 很经典的独白,搞网络的童鞋们,你们懂得
- 二婚不领证吃亏的是谁?
- WebRTC-集成qsv硬解码实现
- 3h精通OpenCV(二)-基本功能
- FCKeditor的JSP版漏洞
- linux下哪个输入法最好,[最好]linux下输入法→linux下输入法
- linux系统如何重置密码
- Epub,Mobi,Azw3电子书格式的区别,有什么好用的IOS手机epub阅读器
- 手把手教你搭建自己的微信公众号
- knn代码实现+可视化
- vue项目中Echarts两个图表之间连接两条线