macOS 安装 pcl 1.8.0
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的更多相关文章
- Ubuntu 16.04 上安装 PCL 1.8.0
Ubuntu16.04之后安装pcl可以直接apt-get sudo apt-get install libpcl-dev pcl-tools 安装之前,准备一些依赖库 sudo apt-get up ...
- macOS 下的 MySQL 8.0.17 安装与简易配置
如果我写的这篇你看不懂,可能网上也没有你能看懂的教程了 虽然这篇针对的是8.0.x版本,但是关于MySQL配置之类的方法还是通用的 环境信息与适用范围 环境信息 环境/软件 版本 macOS macO ...
- 记录archlinux中安装pcl的大致流程
贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archli ...
- Ubuntu 配置安装PCL
Ubuntu 配置安装PCL 之前一直在Mac下开发,现在入手Ubuntu,也借此学习一下Linux下的源码编译安装过程. PCL简介 PCL(Point Cloud Library)是在吸收了前人点 ...
- Windows下安装PCL点云库
原文链接:http://blog.csdn.net/u012337034/article/details/38270109 简介: 在Windows下安装PCL点云库的方法大概有两种: ...
- macOS 安装 Docker
系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...
- macOS 安装配置yaf框架 生成yaf项目
macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...
- macOS 安装 Docker Desktop CE(转)
现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...
- macOS安装Python MySQLdb
macOS安装Python MySQLdb 0. 参考 Mac OS X - EnvironmentError: mysql_config not found 1. 背景 import MySQLdb ...
随机推荐
- mysql中enum类型
ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果 ...
- MySQL的间隙锁
什么是间隙锁当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁:对于键值在条件范围内但不存在的记录,叫做“间隙(GAP)”,InnoDB也 ...
- Java并发编程实战3-可见性与volatile关键字
1. 缓存一致性问题 在计算机中,每条指令都是在CPU执行的,而CPU又不具备存储数据的功能,因此数据都是存储在主存(即内存)和外存(硬盘)中.但是,主存中数据的存取速度高于外存中数据的存取速度(这也 ...
- python3 执行AES加密方法
cmd执行命令:pip install pycryptodome # -*- coding: utf-8 -*- # __author__ = 'Carry' import base64 from C ...
- UVAlive4080_Warfare And Logistics
给一个无向图,求出两个值,所有点到所有其他点的最短距离和,任意删除一条边后的这个值. 数据规模是100点1000边. 白书例题,不多说了直接对于每个点求出最短路树,对于每条边,如果它不是最短路树上的边 ...
- mybatis中@Param的使用
@Param:当映射器方法需要多个参数时,这个注解可以被用于:给映射器方法中的每个参数来取一个名字.否则,多参数将会以它们的顺序位置和SQL语句中的表达式进行映射,这是默认的. 语法要求:若使用 ...
- 机器学习经典论文/survey合集
Active Learning Two Faces of Active Learning, Dasgupta, 2011 Active Learning Literature Survey, Sett ...
- 自平衡二叉(查找树/搜索树/排序树) binary search tree
在计算机科学中,AVL树是最先发明的自平衡二叉查找树.AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 "An alg ...
- KMP之Z-function (扩展kmp)
http://codeforces.com/blog/entry/3107 // s[0, ..., n-1], z[0] = 0// z[i] is the length of the longes ...
- 【Cf #503 B】The hat(二分)
为什么Cf上所有的交互题都是$binary \; Search$... 把序列分成前后两个相等的部分,每一个都可以看成一条斜率为正负$1$的折线.我们把他们放在一起,显然,当折线的交点的横坐标为整数时 ...