如何通过源码编译方式安装PCL

对于很多想学习PCL的同学而言,往往会被如何安装困扰很长时间。我就是这其中的一员,为了不让大家在安装问题上浪费太多时间,我决心写下这篇小小的随笔,希望对大家有所帮助。

  1. 下载需要的软件包

    • Visual Studio [我用的是VS2012,所以这里以这个版本作为基础进行介绍]
    • cmake-3.1.0(二进制安装包)
    • PCL-1.8.0(源码)
    • vtk-6.2.0(源码)
    • boost-1.58.0(源码)
    • eigen-3.2.5(源码)
    • flann-1.8.4(源码)
    • qhull-2012.1(源码)
    • openni2(OpenNI-Windows-x64-2.2.msi二进制安装包)

    请不要问我,这些软件从哪里下载。请到相应的官网去下载吧,利用google,很好找的。这里只是列出了必须安装的一些组件,如果你使用PCL进行开发涉及到了诸如cuda等组件,请自行下载,并参照后面的步骤进行安装。

  2. 软件的编译与安装

    在开始介绍如何安装之前,我先向大家介绍一下我在配置安装时的目录结构:

    在D:\pcl\目录下存放所有的源代码文件;在D:\programs\pcl_suites\下存放所有的编译好的项目文件和最终构建的类库文件[编译好的文件放在xxx-x.y.z文件夹(如flann-1.8.4)下;构建的类库文件放在xxx-install文件夹(如flann-install)下]

    • VS和cmake的安装

      无限下一步即可,VS2010、VS2012、VS2013均可,而cmake版本要大于2.8.6,此处不再赘述。

    • openni2的安装

      同样是无限下一步即可,请注意自定义安装目录

    • vtk、eigen、flann、qhull的编译

      使用cmake-gui,将源代码目录和编译结果的存放目录天道指定位置,运行Configure,将不必要的编译选项去除,如果没有错误的话,点击Generate即完成编译。

    • vtk、eigen、flann、qhull的安装

      双击x.sln解决方案文件,即可打开由cmake生成的VS工程文件,对ALL_BUILD进行“生成解决方案操作”。当全部生成后,对INSTALL进行“生成解决方案操作”即可完成安装。

    • boost的编译

      打开VS开发者命令提示符窗口,切换到boost源码的根目录下,在命令行执行.\boostrap.bat命令即可完成编译。

    • boost的安装

      在VS开发者命令提示符窗口,切换到boost源码的根目录,在命令行执行,\b2 install --prefix=D:\programs\pcl_suites\boost-install\即可完成安装。

    • PCL的编译

      使用cmake-gui,将源代码目录和编译结果的存放目录填入指定位置,点击Configure。选中cmake的Advanced和Grouped选项,对显示有“xxx-NOTFOUND”的项目根据组件的存放位置进行设定。其中boost、flann、vtk、eigen为必须配置的选项,否则会报错。配置没错误后,点击Generate即可完成编译。

      tips:由于eigen3x版本变化较大,因此需要手动将源代码中的FindEigen3.cmake文件放在cmake的D:\programs\cmake\share\cmake-3.1\Modules目录下,否则会报错。

    • PCL的安装

      使用VS打开cmake生成的PCL.sln,对ALL_BUILD进行生成解决方案操作,该过程比较长(我的机器大概跑了将近一个小时),请耐心等待。而后,对INSTALL进行生成解决方案操作,即可完成安装。

  3. 运行第一个小例子

    这里使用到的例子是pcl官网上的passthrough的滤波实例,大家可以去 http://pointclouds.org/documentation/tutorials/passthrough.php#passthrough 下载。

    在VS中进行编译运行时,有如下几个注意事项:

    • 在项目属性->配置属性->VC++目录中,对包含目录和库目录进行配置。包含目录要添加pcl、boost、eigen的include路径;库目录要添加pcl的lib路径
    • 在项目属性->配置属性->C/C++->命令行中,添加-D_SCL_SECURE_NO_WARNINGS选项。
    • 在项目属性->配置属性->链接器->输入->附加依赖项中将pcl安装后产生的所有.lib文件的路径添加至此。
    • 在项目的Debug目录下放置所有pcl安装后产生的dll文件。

希望大家能快速装好PCL,在图像处理领域勇攀高峰!加油^_^

最新文章

  1. Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件)
  2. CSS基本知识0-命名规范
  3. C#:实现快捷键自定义设置(转)
  4. RobotFrameWork WebService Soap接口测试 (一)
  5. POJ 1836 Alignment 最长递增子序列(LIS)的变形
  6. Unrecognized Windows Sockets error: 0: JVM_Bind
  7. python3.x随手笔记1
  8. 时区之痒 - 从手机GPS模块获取的时间,真的是北京时间么?
  9. jquery live hover事件的替代写法
  10. 徐汉彬:亿级Web系统搭建—单机到分布式集群
  11. android_定义多个Activity及跳转
  12. 关于API,前后端分离
  13. Mybatis源码分析--关联表查询及延迟加载(一)
  14. js获取元素宽高、位置相关知识汇总
  15. 获取json串里的某个属性值
  16. MyBatis模糊查询不报错但查不出数据的一种解决方案
  17. css中根据不同分辨率设置不同样式
  18. .gitignore文件规则不起效的解决办法
  19. 浅谈Java——泛型DAO
  20. python之打包、发布模块

热门文章

  1. 【6.18校内test】T1多项式输出
  2. [BJWC2008] Gate Of Babylon
  3. python之入门
  4. linux下mysql的常用命令
  5. win7系统下MongoDB 4.0.1的安装
  6. element-ui 中 switch 开关绑定number 的解决方法
  7. 简单告诉你-"border:0"与"border:none"的区别
  8. javascript 与node的 event-loop
  9. java 返回输入中出现次数最多的字符串
  10. 聚类算法博客 K-means算法