PCL:全程详解 VS2010+PCL配置

原创 2013年08月19日 16:17:26

        浑浑噩噩半年时间,终于不得不干点和机器人有关的东西。ICRA和IROS推荐的三维图形库—点云库,几乎成了机器人视觉算法的标配。

        参考了几篇文章,最后终于配置成功。

下面是文章地址:

         这个有点看头,累积较多,不过还没仔细体会:http://blog.csdn.net/chen_nan/article/details/7055651?reload

         这个文章较短,不过说出了一小点有用的东西,若是看过介绍论文,可不必看:http://qing.blog.sina.com.cn/1455173150/56bc2e1e330005pk.html

     

(一):安装软件包和库

        安装好VS2010后,安装一次性安装包,下载地址:http://www.pointclouds.org/downloads/windows.html

准备工作:

a)  获取All in one安装包,PCL提供了配置为Visual Studio 2010的 32位和64位、 Visual Studio 2008的32位和64位下的该安装包,该包包含了PCL中所使用全部第三方编译包,除了Qt编译包;

b) 获取All in one包对应的PDB文件包,该包用于后期单步调试时使用;

c)  获取PCL源码包;

d)  安装开发工具Visual Studio 2010或Visual Studio 2008和cmake开发工具,需要cmake版本大于2.8.3,主要考虑到PCL中用到了高版本的一些宏定义,低版本不兼容。

注意:http://pointclouds.org/downloads/windows.html可下载all in one安装包和其对应的PDB文件包,源码包可在http://pointclouds.org/downloads/处下载。以上所有包都在参考文献【1】提供的光盘中含有。如果用户安装了RGBD相关设备驱动与中间件,则需要卸载OpenNI相关的驱动、中间件,避免与all in one提供的驱动与中间件冲突,如果没有,忽略此项,OpenNI、RGBD相关的内容后续章节IO有介绍。图1所示,为准备工作最终需要的文件。

1.完成准备工作将会有三个包


安装:

      安装过程很简单(笔者配置为Visual C++ 2008 Express Edition、Cmake 2.8.5、32位系统),点击安装上一步所准备的文件PCL-1.5.1-AllInOne-msvc2008-win32.exe。运行如图2到8,按照提示默认安装即可,如果需要改变安装路径到非C:盘,后面cmake配置时需要自行设置各个第三方库的路径以及PCL头文件与链接库路径。

2欢迎使用界面与PCL许可界面


3安装选项与安装路径界面


4选择开始菜单界面与安装组建库选择界面


5安装组建界面展开图示


6安装OpenNI界面


7安装Primesense Sensor驱动界面


8完成界面与最终安装好的截图


9第三方库文件夹


10  pdb文件夹中内容



(二):编译库文件:

      Windows下从预编译包搭建PCL开发环境,转自官方:http://www.pclcn.org/study/shownews.php?lang=cn&id=33

       建立两个文件,源程序文件project_inliers.cpp和cmake 配置文件CMakeLists.txt内容拷贝链接http://pointclouds.org/documentation/tutorials/project_inliers.php#project-inliers中对应的代码及Cmakelists的代码(此处也可以从参考文献【1】中test文件拷贝对应的文件),放在同一文件夹source下,在source同一目录下建立camke-bin文件夹。

 

11 测试需要建立的文件

打开cmake,设置源文件目录与编译目录,如图12所示。


12设置cmake需要的路径

13 camke中选择对应的编译器


14 配置与生成


选择对应的编译器,如图13所示,笔者选择对应visual studio 9 2008,点击finish,再点击配置与生成,如图14所示,即可得到工程文件,如图15所示。

15生成的工程文件


16编译工程文件


17 测试exe文件运行结果

        到此就完成了PCL在windows上的开发环境搭建,用户可以自行体验官方网站提供的大量实例代码了,如果用户只是使用稳定的PCL版本。

(三):搭建开发环境:

.安装完毕后就测试一下PCL的效果吧,要注意项目对应的包含目录、库目录、库文件(LIB)和运行环境(DLL)。

http://www.pointclouds.org/documentation/tutorials/pcl_visualizer.php#pcl-visualizer上面的例程试一试,新建工程,粘贴代码……

在包含目录下添加:

C:\Program Files\PCL 1.5.1\3rdParty\Boost\include;
C:\Program Files\PCL 1.5.1\3rdParty\Eigen\include;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\include;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\include;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\include\vtk-5.8;
C:\Program Files\OpenNI\Include;
C:\Program Files\PCL 1.5.1\include\pcl-1.5;

(对应自己机子上PCL的位置,如果为了CMAKE方便很多会放在根目录下。即C:\PCL

在库目录下添加:

C:\Program Files\PCL 1.5.1\3rdParty\Boost\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\lib;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\lib\vtk-5.8;
C:\Program Files\PCL 1.5.1\lib;
C:\Program Files\OpenNI\Lib;


在附加依赖项上添加:

 opengl32.lib
pcl_kdtree_debug.lib
pcl_io_debug.lib
pcl_search_debug.lib
pcl_segmentation_debug.lib
pcl_range_image_border_extractor_debug.lib
pcl_apps_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_visualization_debug.lib
pcl_common_debug.lib
flann_cpp_s-gd.lib
libboost_system-vc100-mt-gd-1_47.lib
libboost_filesystem-vc100-mt-gd-1_47.lib
libboost_thread-vc100-mt-gd-1_47.lib
libboost_date_time-vc100-mt-gd-1_47.lib
libboost_iostreams-vc100-mt-gd-1_47.lib
openNI.lib
vtkalglib-gd.lib
vtkCharts-gd.lib
vtkCommon-gd.lib
vtkDICOMParser-gd.lib
vtkexoIIc-gd.lib
vtkexpat-gd.lib
vtkFiltering-gd.lib
vtkfreetype-gd.lib
vtkftgl-gd.lib
vtkGenericFiltering-gd.lib
vtkGeovis-gd.lib
vtkGraphics-gd.lib
vtkhdf5-gd.lib
vtkHybrid-gd.lib
vtkImaging-gd.lib
vtkInfovis-gd.lib
vtkIO-gd.lib
vtkjpeg-gd.lib
vtklibxml2-gd.lib
vtkmetaio-gd.lib
vtkNetCDF-gd.lib
vtkNetCDF_cxx-gd.lib
vtkpng-gd.lib
vtkproj4-gd.lib
vtkRendering-gd.lib
vtksqlite-gd.lib
vtksys-gd.lib
vtktiff-gd.lib
vtkverdict-gd.lib
vtkViews-gd.lib
vtkVolumeRendering-gd.lib
vtkWidgets-gd.lib
vtkzlib-gd.lib

这里要注意PCL引用到的其他库文件一定要加进去,VTK的库很多,而且依赖关系我看得很乱,所以为了方便就全加进去了。

如果没有加完整,很多信息提示错误的,之前忘了加一个什么库,导致很多error LNK2019,还让我重装了很多次…… 

注意库要对应debugrelease版,debug后面一般都有-gd或者_debug的,看看就能分出来了。对应错了还会有error LNK

error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in  XXXX.......

这时应该可以看到成功生成的信息了:

         别着急运行,会发现还没做完的。

     我们还要把对应的dll加到环境中,可以直接把用到的那些dll放到应用程序搜索到的位置,如cpp对应的目录。(=_=!好笨的方法,不过我就是这样做的……)或者是把dll的目录设置到环境中去(在安装ALL IN ONE 时已经自动添加)


Tips:

       对于pcl_range_image_border_extractor_debug.lib无法找到问题,先删除包含之,编译通过.

PCL学习笔记(1):pcl1.6.0+vs2010环境配置以及第一个pcl程序

PCL安装以及环境配置方案,以及第一个PCL程序。
  • chentravelling
  • chentravelling
  • 2015年02月03日 16:36
  • 9889

PCL入门

pcl的入门 本博客主要是对外文的翻译,及其他资料的一些整理。 pcl 分割成好几个模块的库 Filters(滤波器) Features(特征) Keypoints(关键点) Regist...
  • qq_25491201
  • qq_25491201
  • 2016年04月04日 15:59
  • 10804

初识:pcl安装和配置

本文是结合朱德海老师主编的《点云库PCL 学习教程》做的笔记。 pcl:实现相关点云的通用算法和高效数据结构的kai...
  • lvei_jenny
  • lvei_jenny
  • 2016年04月15日 16:12
  • 3290

VS2008+Qt4.7.3+VTK5.10.1+PCL1.5.1

VS2008+Qt4.7.3+VTK5.10.1+PCL1.5.1 编译安装说明 Organizedby Glare Liu~ 前言: 由于点云和模型的显示想要作为一个窗口加载...
  • wo1182929447
  • wo1182929447
  • 2015年08月03日 17:20
  • 622

pcl配置中遇到的问题

以下是本人在初学PCL过程当中遇到的一些问题: 问题集合1: 1.无法启动此程序,因为计算机中丢失MSVCP110D.dll。尝试重新安装该程序以解决此程序。   解决方案:找了度娘好久,但是...
  • Gloriamin
  • Gloriamin
  • 2015年07月25日 10:58
  • 1713

同时使用PCL和OpenCV时的种种坑爹的情况及其解决办法

最近做的一个3D照相馆的项目,其中用到了PCL中的点云处理和OpenCV中的人脸识别,因此需要同时使用PCL和OpenCV两个开源库。于是乎坑爹的问题一个接一个的来了ORZ 一、x64 or w...
  • u011418173
  • u011418173
  • 2016年09月21日 23:16
  • 2082

win7 环境下vs2010环境如何配置点云库PCL1.6.0教程

一、前言 不管你的电脑是win7是64 位还是32 的,这里建议都安装PCL 32位的版本,这样容易安装。若选用64 的容易出错。本人的环境为win7旗舰版,64位操作系统。VS2010也是安装的旗舰...
  • hegeneral
  • hegeneral
  • 2016年09月09日 18:37
  • 3737

PCL点云库配置

PCL配置
  • qq10593994
  • qq10593994
  • 2015年07月27日 21:23
  • 1411

PCL学习笔记(1) win8 64bit系统 + VS208——搭建PCL开发环境

哈哈,今晚来更新些
  • JerryandQilin
  • JerryandQilin
  • 2015年01月29日 15:51
  • 4640

PCL在VS2015环境配置

安装vs2015,可以去”I tell you”下载,可以直接去官网下载社区版(community),社区版是免费的; 下载vs2015对应的PCL版本,一定要是对应的,我是 这里下载的http://...
  • j_cou
  • j_cou
  • 2017年01月02日 23:14
  • 2533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PCL:全程详解 VS2010+PCL配置
举报原因:
原因补充:

(最多只允许输入30个字)