PTAM在windows 7下的编译

来源:互联网 发布:网络教育高中升本科 编辑:程序博客网 时间:2024/04/30 12:11

最近在操作系统为64位win7,编译环境为visual studio下尝试编译了PTAM,于art是在这里把整个流程整理如下:

本文主要参考了以下两位的博文:

windows下PTAM的编译:http://blog.csdn.net/cgf_909/article/details/24457771

windows7编译PTAM和PTAMM:http://blog.csdn.net/aquathinker/article/details/7742577

另外,可以找到PTAMM manual,在 Mac OS或Linux环境下编译以及其他问题可以参考。


先是准备工作:

PTAM的代码可以在http://www.robots.ox.ac.uk/~gk/PTAM/通过注册下载,也可以在GitHub中获得PTAM-GPL:https://github.com/Oxford-PTAM/PTAM-GPL

PTAM需要用到TooN、libvcd、gvars3这三个库,而编译这三个库又需要用到
GLEW(glew-1.5.0-win32.zip)
Lapack and BLAS(shared-libs.zip headers.tar.gz)
pthreads(pthreads-w32-2-8-0-release.exe)
libjpeg for win32(jpeg-6b-4.exe)
fltk(fltk-2.0.x-r6305.tar.bz2)
这些库文件。打包下载地址为http://download.csdn.net/detail/cgf_909/7249657
配置这五个库:
1、GLEW解压。
把bin/glew32.dll放到c盘Windows/system32中;把lib/glew32.lib放到{VC 的根目录}vc/Lib中;
把include/GL下的两个头文件放到{VC 根目录}/Include/GL中;
配置过openGL的基本上这一步都ok了,不用重复做。
2、解压clapack。
将headers.tar.gz解压。把lapack和blas这两个文件夹放到{VC 根目录}/Include/中。
解压lapack-MT-release,把blas_win32_MT.dll和lapack_win32_MT.dll放到Windows/system32中;blas_win32_MT.lib和lapack_win32_MT.lib放到{VC 根目录}/Lib中。
3、把pthreads-w32-2-8-0-release.exe解压得到Pre-built.2、pthreads.2、QueueUserAPCEx这三个文件夹。
把Pre-built.2/include下的semaphore.h、sched.h、pthread.h这三个头文件放到{VC 根目录}/Include中。
将Pre-built.2/lib下的lib文件放到{VC 根目录的}/Lib中,在把这个里面的dll文件放到Windows/system32中。
4、运行jpeg-6b-4.exe。把他安装到默认路径。安装完成后在(C:/Program Files/GnuWin32/include和C:/Program Files/GnuWin32/lib)。把include文件和lib文件分别拷贝到vc根目录的include和lib中去。
5、将fltk-2.0.x-r6305.tar.bz2解压,重命名为fltk,作为一个头文件放到{VC Root}/Include中。
编译TooN, libcvd, gvars3这三个库,打包下载地址:http://download.csdn.net/detail/cgf_909/7175721
1、TooN
修改TooN\SymEigen.h中的内容:
            if(ev[0] > ev[1])                  swap(ev[0], ev[1]);              if(ev[1] > ev[2])                  swap(ev[1], ev[2]);              if(ev[0] > ev[1])                  swap(ev[0], ev[1]);  
修改为:
<pre name="code" class="cpp">if(ev[0] > ev[1])      std::swap(ev[0], ev[1]);  if(ev[1] > ev[2])      std::swap(ev[1], ev[2]);  if(ev[0] > ev[1])      std::swap(ev[0], ev[1]);  

把TooN作为一个头文件包含到vc根目录的include中。

如果运行发生错误,解决办法:把包含在vc根目录中include下的TooN头文间中的toon/internal/config.hh打开,其他代码均屏蔽掉只保留#define TOON_USE_LAPACK 1 这一行
2、解压libcvd文件,build其下build/vc2005中的工程
编译通过,生成一lib文件夹,把lib文件夹下的lib库放置vc根目录的lib中,然后再把cvd作为一头文件放到{VC Root}/Include中。
3、解压gvars3,build该文件夹下build/vc2005中的gvars3.sln(VS2010)
生成了一lib文件夹,把该文件夹下的lib文件放置{VC Root}/Lib中;然后把gvars3下的gvars3作为一头文件放置{VC Root}/Include中。
最后,终于可以编译PTAM了。
1.解压PTAM.zip文件,把PTAM\Build\Win32路径下的所有文件复制到PTAM文件夹下
2.使用VS2010打开sln文件
3.如果需要,修改include路径、lib库路径等
4.把配置中的blas_win32.lib和lapack_win32.lib改为blas_win32_MT.lib和lapack_win32_MT.lib,增加ws2_32.lib
5.在release下编译PTAM
如果需要改变相机接口,修改VideoSource_Win32_CMU1394.cc文件

</pre><pre>
0 0
原创粉丝点击