PTAM 编译安装 on MAC(mavericks)
最近有需要研究PTAM,所以需要在我的MAC上编译安装,整个过程让人非常崩溃各种问题陷阱。现在整理一下编译过程。我已经成功在MAC上编译。那么接下来我会详细讲解整个过程:
注意: 部分链接可能需要翻墙(政府就知道防范异己者但也影响了我们正常的学术交流)
1. 先安装 blas & lapack
- LAPACK, see http://www.netlib.org/lapack/
- BLAS, see http://www.netlib.org/blas/
先安装BLAS ,需要gfortran 编译器,所以下个gfortran编译器事先,要GNU标准的。
打开终端,然后cd 到BLAS目录
$ make
然后将获得的blas_Linux.a 改名 为 libblas.a 并将改名后的文件拷贝到 /usr/local/lib/
同理cd 到lapack 然后
$make
然后将获得的liblapack.a 如果不为这个名字改一下 并将改名后的文件拷贝到 /usr/local/lib/
2. 安装 ncurses 直接在终端下载安装
$ curl -O ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz
$ tar -xzvf ncurses-5.9.tar.gz
$ cd ./ncurses-5.9
$ ./configure --prefix=/usr/local \
--without-cxx --without-cxx-binding --without-ada --without-progs --without-curses-h \
--with-shared --without-debug \
--enable-widec --enable-const --enable-ext-colors --enable-sigwinch --enable-wgetch-events \
&& make
$ sudo make install
3. 安装TooN 非常简单
$git clone https://github.com/edrosten/TooN.git toon
$cd toon
$./configure
$make install
4. 安装libdc1394
不要从homebrew直接安装 ,因为他默认是64-bit编译的。我们需要32-bit 编译 所以下载安装
libdc1394 下载
$CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32" ./configure --disable-sdltest
$make -j8
$make install
5. 需要一些 libtiff, libjpeg, libpng 库 直接 从homebrew 安装就可以 还需要事先安装 xquarz x11(从网上找下载安装)
拿libpng 为例:(需要安装homebrew)
$brew install libpng
其他类似
6.安装 libcvd
$git clone https://github.com/edrosten/libcvd.git libcvd
$cd libcvd
$vi configure.in
# 修改第 483 行 (如果不会用vi可以直接打开这两个文件 configure.in 和 cvd_src/image_io/cvdimage.cxx 修改)
# 将 int main(){InitCursor();EnterMovies();return ;}])],
# 改为:
# int main(){EnterMovies();return ;}])],
# 去掉 580 行:
# a=
vi cvd_src/image_io/cvdimage.cxx
# 修改第 45 行
# #ifdef __GNUC__
# 为:
# #if defined __GNUC__ && !defined __clang__
$ autoconf
# Run XQuartz before configure
$Xquartz &
CPPFLAGS="-D_REENTRANT -I$HOME/include" CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32 -L. -L/usr/lib" ./configure --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib --without-ffmpeg --disable-fast7 --disable-fast8 --disable-fast9 --disable-fast11 --disable-fast12
$make -j8
$make install
7 安装 gvars3
需要事先安装依赖库 readline 直接从homebrew安装
$brew install readline
从Git 安装 gvars3 (注意检查你下载的 readline 版本 修改下面路径中的版本 例如6.3.6)
$git clone https://github.com/edrosten/gvars.git gvars
$cd gvars
$CPPFLAGS="-I/usr/include -I/usr/local/Cellar/readline/6.3.6/include" CFLAGS="-arch i386 -m32" CXXFLAGS="-arch i386 -m32" LDFLAGS="-arch i386 -m32 -L/usr/lib -L/usr/local/Cellar/readline/6.3.6/lib" ./configure --disable-widgets
$make -j8
$make install
8 安装 PTAM
ptam 下载
修改 /build/OSX/ 中的两个文件
首先makefile
将 -I/usr/include -I/opt/X11/include -I/usr/local/include 添加到 COMPILEFLAGS
将 -L/usr/lib -L/opt/X11/lib -L/usr/local/lib 添加到 LINKFLAGS
将 -arch i386 -m32 添加到CC 后面
去掉有 /Developer/Tools/Rez 的两行
再来修改 VideoSource_OSX.cc
添加 头文件
#include <unistd.h>
终端 CD 到这个问目录
$ make -j8
编译成功后会有 CameraCalibrator 和 PTAM两个可执行文件 。

如何使用 可以看这个 网址 http://www.robots.ox.ac.uk/~gk/PTAM/usage.html (需要翻墙)

摄像头一定要 外置USB 摄像头 ,内置的不可以。
PTAM 编译安装 on MAC(mavericks)的更多相关文章
- linux 7z 命令编译安装,mac安装p7zip
linux 7z 命令编译安装 7zip是一个开源的压缩软件 7z格式是压缩率最高的格式 服务器备份 数据几个g 要是tar压缩下载的话 时间太长 7zip压缩出来体积很小 首先安装 我这是 ce ...
- nginx编译安装on mac
一.编译安装模块 如果是原有包中就有的模块,编译时, ./configure --with-xxx 就可以, 如果是第三方模块,可使用 --add-module, 如果有多个模块的话,只需要多次使用- ...
- Mac编译安装swfTools
Mac编译安装swfTools Mac编译安装swfTools 下载源码 解压源码 安装依赖项 ./configure执行配置或者执行如下配置命令: 需要注意这里存在部分代码错误,需要修改解决后执行 ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- Mac Pro 编译安装 Redis-3.2.3
Redis官方下载地址:http://redis.io/download Redis安装 cd /usr/local/src/redis-3.2.3 sudo make sudo make insta ...
- 记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程
买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...
- Mac Pro 编译安装 Nginx 1.8.1
#下载相关源码包,统一放到 /usr/local/src 目录下: http://nginx.org/download/nginx-1.8.1.tar.gz http://zlib.net/zlib- ...
- mac下Nginx+lua模块编译安装
Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...
- linux(mac) 编译安装MySQL
Reference: https://blog.csdn.net/Tzhennan/article/details/80565235 官方下载地址: https://dev.mysql.com/do ...
随机推荐
- CH模拟赛 还教室
/* 区间操作,可以推一推式子,方差为平方的平均数-平均数的平方,维护区间和与区间平方和,平方和的维护方法类似,式子推一推就行了,注意约分 */ #include<iostream> #i ...
- Ajax工作原理
在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项 ...
- Azure底层架构的初步分析
之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...
- html页面读取PDF小案例
html页面 引用<script src="js/pdfobject.js" type="text/javascript" charset="u ...
- runtime第二部分成员变量和属性
接上一篇 http://www.cnblogs.com/ddavidXu/p/5912306.html 转载来源http://www.jianshu.com/p/6b905584f536 http:/ ...
- Codeforces 731C Socks 并查集
题目:http://codeforces.com/contest/731/problem/C 思路:并查集处理出哪几堆袜子是同一颜色的,对于每堆袜子求出出现最多颜色的次数,用这堆袜子的数目减去该值即为 ...
- [原创]CSS3打造动态3D气球
周末在江边晨跑的时候发现很多 当时心血来潮就想,应该可以在网页中实现一下 这几天得闲就做了一下,效果如下 (尽量在最新版本的chrome或者firefox中查看) demo下载在文章最后 预览 --& ...
- 关于Access restriction: The type 'Application' is not API (restriction on required library)
原文链接:http://rxxluowei.iteye.com/blog/671893 今天写第一次写JavaFX的入门程序就GG 遇到了导入API的问题,无奈疯狂地通过网络找解决方案.. 我的问题是 ...
- 转:aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- SecureCRT 常用命令
常用命令:一.ls 只列出文件名 (相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件. -l:列表形式,包含文件的绝大部分属性. -R:递归显示. --help:此命令的帮助. 二. ...