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. 更新ffmpeg

    今天对公司线上的几台机器做了下ffmpeg的更新,没有什么技术含量,还是简单记录下,做个流水账~哈哈 软件包获取方式 官方网站:https://ffmpeg.org/download.htmlgith ...

  2. P4645 [COCI2006-2007 Contest#3] BICIKLI

    题意翻译 给定一个有向图,n个点,m条边.请问,1号点到2号点有多少条路径?如果有无限多条,输出inf,如果有限,输出答案模10^9的余数. 两点之间可能有重边,需要看成是不同的路径. 题目描述 A ...

  3. STL 基本概念

    STL 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现在是一个C++软件库,也是C++标准程序库的一部分,但在被引入C++之前 ...

  4. POI操作word和html相互转化

    下面是里两个类:第一个类是html转为word,第二个是word转html(最下面附上jar包下载链接) package com.wz.poi.wordHtml; /** * 2018/4/24 * ...

  5. 解题:SCOI 2008 配对

    题面 如果没有两个数不能相同这个限制就两个数组排序后贪心即可.现在加上这个限制,注意到每个数组中的数是两两不同的,所以每次一定能在前面或后面一个数中找一个换过来,这样每次考虑相邻三个数转移就可以了,注 ...

  6. 解题:TJOI 2015 组合数学

    题面 通过这个题理解了一下反链的概念,更新在图论知识点里了 每个点向右和下连边可以建出一张图,这个题事实上是让我们求图的最小链覆盖.Dilworth定理告诉我们,最小链覆盖等于最长反链(反链:DAG中 ...

  7. JavaScript演示下Singleton设计模式

    单例模式的基本结构: MyNamespace.Singleton = function() { return {}; }(); 比如: MyNamespace.Singleton = (functio ...

  8. 「转」python数字图像处理(18):高级形态学处理

    python数字图像处理(18):高级形态学处理   形态学处理,除了最基本的膨胀.腐蚀.开/闭运算.黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等. 1.凸包 凸包是指一 ...

  9. 在ubuntu下安装opencv

    每次学习一个新的东西,最让气恼的也许就是库,软件之类的东西了把.本来以为再ubuntu虚拟机上照着网上的教程一步步做肯定一下子就弄好了,结果发现好多教程都有好多的坑,有些地方他们少一步你也不知道,有些 ...

  10. 设计模式之单例模式实现(C++)

    #ifndef SINGLETON_H #define SINGLETON_H #include <cassert> #include <memory> #include &l ...