Mac 上的 pcl 一直有问题。

找不到 pcl_viewer 查看 pcd 文件。写个程序用 pcl::visualization::CloudViewer 查看点云,遇到 Runtime Exception。

今天下午下定决心搞定 pcl 。

pcl 以前是使用 homebrew 安装的,homebrew 安装的是 1.8.0 的版本,讲道理应该没有问题。

尝试到 pcl 的官网上,按照 Mac 的安装流程安装 pcl 1.6.0,依赖项装着装着,发现 pcl 1.6.0 依赖的 OpenNI 不支持当前的系统(macOS Sierra 10.12.2)。现在距离 pcl 1.6.0 发布已经过去好多年了,QHull 的依赖版本还是 2009.1,确实对 pcl 1.6.0 没有信心。

所以在 Github 上下载了 pcl 1.8.0 的源码来自己安装。

为了方便起见,依赖项都使用 homebrew 安装了。

VTK

boost 版本是 1.6.3,VTK 版本是 7.1.0,在编译 pcl 的时候会遇到 vtkObjectBase undefined 的错误,按照这个链接 https://github.com/PointCloudLibrary/pcl/issues/1192 ,把 vtk 7.1.0 卸载了,换上 vtk 6.3.0(同样 vtk 是自己编译安装)。

在编译的过程中需要注意,有一些 redefinition 的错误,这是由于编译源码和 homebrew 各安装了一次。在 /opt/local/ 的头文件和库是编译源码安装的,在 /usr/local/ 的头文件和库是 homebrew 安装的。删除 /opt/local/ 中的那一份就可以了。

编译好 pcl 之后发现 pcl_vie[Tab][Tab]…还是没有 pcl_viewer 这个可执行文件。上网搜,发现其实 pcl 在 Mac 下将 pcl_viewer 当做了 app 安装。在 /usr/local/bin 中可以发现有三个 pcl_*.app,只需进入 app 目录,找到相应的可执行文件,拷贝出来。(其实 homebrew 安装 pcl 的选项中就有 --without-apps 的选项。)

CloudViewer NSException

运行代码想要使用 CloudViewer 现实点云,发现存在 Runtime Exception —— NSException,在 github 的 issues 中找到有人讨论过这个问题,https://github.com/PointCloudLibrary/pcl/issues/253 。无法解决,只能使用 PCLVisualizer 代替。

macOS 安装 pcl 1.8.0的更多相关文章

  1. Ubuntu 16.04 上安装 PCL 1.8.0

    Ubuntu16.04之后安装pcl可以直接apt-get sudo apt-get install libpcl-dev pcl-tools 安装之前,准备一些依赖库 sudo apt-get up ...

  2. macOS 下的 MySQL 8.0.17 安装与简易配置

    如果我写的这篇你看不懂,可能网上也没有你能看懂的教程了 虽然这篇针对的是8.0.x版本,但是关于MySQL配置之类的方法还是通用的 环境信息与适用范围 环境信息 环境/软件 版本 macOS macO ...

  3. 记录archlinux中安装pcl的大致流程

    贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archli ...

  4. Ubuntu 配置安装PCL

    Ubuntu 配置安装PCL 之前一直在Mac下开发,现在入手Ubuntu,也借此学习一下Linux下的源码编译安装过程. PCL简介 PCL(Point Cloud Library)是在吸收了前人点 ...

  5. Windows下安装PCL点云库

    原文链接:http://blog.csdn.net/u012337034/article/details/38270109 简介:         在Windows下安装PCL点云库的方法大概有两种: ...

  6. macOS 安装 Docker

    系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...

  7. macOS 安装配置yaf框架 生成yaf项目

    macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...

  8. macOS 安装 Docker Desktop CE(转)

    现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...

  9. macOS安装Python MySQLdb

    macOS安装Python MySQLdb 0. 参考 Mac OS X - EnvironmentError: mysql_config not found 1. 背景 import MySQLdb ...

随机推荐

  1. Redis 优势以及性能问题

      1. 使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string, ...

  2. servletActionContext.getContext默认获取contextmap 数据默认存储在contextmap的request中

  3. HashMap的put方法返回值问题

    API文档中的描述: 先看一个例子 Map<Character, Integer> map = new HashMap<Character, Integer>(); Syste ...

  4. EF 使用 oracle

    EF 使用 oracle https://www.oracle.com/technetwork/topics/dotnet/downloads/index.html C:\Program Files ...

  5. 【About Me】 — 有关于我的 —

    HNSDFZ信息组一直非常蒻的一只蒟蒻,正在朝着大佬与正解的方向不懈努力中. 目前还是一只高一的萌新,下个学期进高二就可以升级当学姐啦……٩(๑>◡<๑)۶  呜呜呜已经高二啦!现在高二了 ...

  6. 【CF888G】Xor-MST(最小生成树,Trie树)

    [CF888G]Xor-MST(最小生成树,Trie树) 题面 CF 洛谷 题解 利用\(Kruskal\)或者\(Prim\)算法都很不好计算. 然而我们还有一个叫啥来着?\(B\)啥啥的算法,就叫 ...

  7. 【BZOJ4059】Non-boring sequences

    Solution 记序列为\(a\),计算出与\(a_i\)相等的前一个元素的位置\(pre_i\),以及后一个元素的位置\(nex_i\),显然,对于那些左端点处于\((pre_i,i]\)以及右端 ...

  8. 我们为什么要迁移PHP到HHVM

    我们为什么要迁移PHP到HHVM 程序员日志 · 2014-12-26 18:33 简介 该调研是2013年10月份做的,目标是寻找更好的PHP引擎,来代替百度各产品线正在使用的PHP 5.2. 环境 ...

  9. 解题:BZOJ 4644 经典砂比题(雾

    题面 初见线段树分治 (对我来说可不是什么经典题=.=) 把时间轴建出来一棵线段树,然后在对应的区间上打标记,最后把整棵树DFS一遍,到叶节点输出答案即可 (把最终答案开成全局的了调了半天 #incl ...

  10. Html 响应式 Web

    网格视图 很多网页都是基于网格设计的,这说明网页是按列来布局的. 使用网格视图有助于我们设计网页.这让我们向网页添加元素变的更简单. 响应式网格视图通常是 12 列,宽度为100%,在浏览器窗口大小调 ...