如何通过源码编译方式安装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,在图像处理领域勇攀高峰!加油^_^

从源码编译安装PCL并运行第一个小例子的更多相关文章

  1. Eureka 源码编译安装部署---Eureka运行eureka-server服务

    ---恢复内容开始--- 折腾了几天,终于运行好了,两个字:佩服 首先感谢这个大佬的博客支持:https://www.cnblogs.com/lifuping/p/5663127.html 1.首先在 ...

  2. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  3. Linux系统 - 源码编译安装Nginx

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  4. 源码编译安装lnmp环境

    一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数 ...

  5. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  6. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  7. 【转载】Ogre3d 2.1 源码编译安装教程

    原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...

  8. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  9. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

随机推荐

  1. Windows C++ 判断文件是否是图片格式的方法。

    一.通过后缀名去判断. bool IsImageByTail(const std::wstring &path) { std::wstring file_exten; size_t pos = ...

  2. 杜恩德的新博客,都来看看-duende99

    啊啊啊啊 https://home.cnblogs.com/u/duende99/

  3. Celery多队列配置

    Celery多队列配置 Celery官方文档 项目结构 /proj -__init__ -app.py #实例化celery对象 -celeryconfig.py #celery的配置文件 -task ...

  4. 初探html-9 链接

    HTML 链接 HTML 使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. 尝试一下 - 实例 <!DOCTYPE html> ...

  5. Vmware 安装 ghost 版 win 7

    很早就弄过vmware,很可惜一直没有仔细研究过,这次要安装一个win7系统,重新又学一下了一下,下面说一下安装的操作步骤吧. 第一步,下载vmware,原版的下载地址就不说了,上传到百度网盘自己下载 ...

  6. 2019-11-29-Roslyn-通过-Nuget-管理公司配置

    title author date CreateTime categories Roslyn 通过 Nuget 管理公司配置 lindexi 2019-11-29 08:58:52 +0800 201 ...

  7. composer 被墙后镜像设置

    这一步主要更改镜像,不从外网直接取,现在改成了中国的一家镜像站.就是下面这个地址. https://packagist.phpcomposer.com#阿里云的composer镜像源composer ...

  8. Codeforces Round #575 (Div. 3) B. Odd Sum Segments (构造,数学)

    B. Odd Sum Segments time limit per test3 seconds memory limit per test256 megabytes inputstandard in ...

  9. POSTGRESQL 批量权限 管理方法

    原博地址 https://yq.aliyun.com/articles/41512?spm=a2c4e.11153940.0.0.20b7640fcDiFQA 关于PostgreSQL的逻辑架构和权限 ...

  10. python中英文翻译模块

    从一种语言到另一种语言的文本翻译在各种网站中越来越普遍. 帮助我们执行此操作的python包称为translate. 可以通过以下方式安装此软件包. 它提供主要语言的翻译. 官网:https://py ...