需要项目源码的---->项目工程完整文件

PTAM在windows linux平台的编译还可以去参照官方手册:http://www.robots.ox.ac.uk/~bob/software/ptamm/manual.pdf。PTAM官网只有C++源代码,因此移植到android考虑采用jni接口,github上有类似的工程android-ptam-master。本文主要讲下载了这个工程后的调试问题。

首先,不建议android开发环境搭建在winows平台,本人,8G内存,i5中等处理器,在windows平台的eclipse上调试这个工程,每次编译2小时+。。。。后来只好搬到fedora上了。在windows平台上还有个问题:
1.windows的命令行只接收最大8191个字符,所以可能会报错,
    解决方法是:打开相应的android.mk文件,加上一句:  LOCAL_SHORT_COMMANDS := true,说明:设置这个变量为‘true’,当你的module有很多的源文件,或者依赖很多的静态或动态库。这会强制编译系统使用一个中间的列表文件,并通过@$(listfile) 语法和library archiver 或者 static linker一起使用。注意如果设置了‘true’以外的值,都会恢复成默认行为。你也可以在Android.mk文件中定义APP_SHORT_COMMANDS来强制使你的工程中的所有modules使用这项功能。
    注意:默认我们不推荐启用这个功能,因为它会使得编译变慢。APP_SHORT_COMMANDS , LOCAL_SHORT_COMMANDS 可以解决链接时参数太长的问题(生成*.a *.so时中间文件过多) 然而,编译,生成 libcrypto.so时,在libcrypto模块中采用LOCAL_SHORT_COMMANDS:=true来指定会导致编译错误。在Application.mk中指定 APP_SHORT_COMMANDS:=true可以顺利编译,链接。
2.出现f2c.h里链接到源文件报错,比如../INCLUDE/f2c.h,导致下面的integer等等变量都无法识别
     下载android-ptam后,在eclipse import之,然后设置项目属性,添加NDK路径,在C++-build里添加environment NDKROOT,以及在build command里添加正确的路径。出现这个问题的原因没搞清楚,解决方法是直接去INCLUDE里找到f2c.h的内容,然后复制到出错的f2c.h中来。或者删掉出错的f2c.h,把正确的f2c.h链接到此处。
3.出现在同一个namespace下debug_initialize无法识别。
    也是很奇葩的错误,有时莫名的自己好,实在不行,可以把debug_initialize的声明文件debug里面所有内容copy到出错的文件中,这样它在同一个文件中调用,就不会错了。
4.出现include <cmath.h> unresolved,造成下面swap函数无法识别。
    这个问题的原因也是不太清楚,我用的NDK版本是r10b,我把NDK版本换成r9d,然后重新设置环境,就好了。可能是版本问题,也可能只是因为我换了NDK重新加载了一次,刷新了,解决了错误。
5.编译通过(大概需要三/五分钟),运行PTAM APP 结果,有按钮界面,无相机预览。
    在captureView里面把关于render的两行注释取消掉。再到BatchRenderer里把onDrawFrame里的注释取消掉。保存运行。
6.mutiple target错误,import之后就出现
    这种错误应该是有target不匹配造成的,在属性 android里,project build target下的框里勾选合适的target。我用的是19. 
如果,你运行app直接秒退,检查是否编译了JNI库(在lib下),没有则是你ndk-build没有设置好。ndk-build 设置关键在于,要是build command里能找到正确的路径,我的是 ${NDKROOT}ndk-build ,                      NDKROOT=/home/cian/下载/android-ndk-r9d/。

就这些了,望后来者好运。

最后附上我的项目工程完整文件:http://download.csdn.net/detail/qq_21158525/9620430

PTAM的笔记(二)---ptam移植到android平台相关推荐

  1. 全网首发微信二维码引擎Android平台移植

    2011年12月微信3.5版本正式上线"扫一扫"二维码,历经9年蜕变,"扫一扫"从二维码名片到扫码支付.从小程序码到健康码,二维码已经成为一种生活方式,连接着数 ...

  2. srtp移植到android平台

    因项目需要,需要把srtp移植到android平台,于是我开始了艰难的旅程. 1,首先跑通demo代码, 在test下面有一个rtpw.exe这个就是demo,在cygwin下面运行下 接收端 :./ ...

  3. android变声后的文件,仿QQ语音变声功能实现(二)---移植到android studio 并解决部分问题...

    版权声明:转载必须注明本文转自张鹏辉的博客: http://blog.csdn.net/qingtiangg 大家好,距离上一篇博客半年过去了,关于上一篇博客很多人加我QQ留言问了几个问题,最近不忙决 ...

  4. 仿QQ语音变声功能实现(二)---移植到android studio 并解决部分问题

    版权声明:转载必须注明本文转自张鹏辉的博客: http://blog.csdn.net/qingtiangg 大家好,距离上一篇博客半年过去了,关于上一篇博客很多人加我QQ留言问了几个问题,最近不忙决 ...

  5. Unity3D之移植学习笔记:移植到Android平台

    首先,我们需要一台已经配置好可以开发Android应用的计算机,这里我使用的是Windows系统+Eclipse+ADT的开发环境,当然也可以使用Android Studio或者使用Mac系统都可以. ...

  6. 在ubuntu系统下cocos2dx移植到android平台

    1.序 在网络上搜索cocos2dx移植到android的文章有很多, 本文也是参考根据网络上的文章移植成功的, 下面将本人的移植过程以及移植过程中遇到的问题记录下来以供今后参考和即将移植的新人一个参 ...

  7. android 移植游戏,Unity游戏移植到Android平台

    很多时候不仅需要单纯的运行单个的unity游戏,而是需要将游戏嵌入Android代码中和android其他功能相辅生成一个APP,比如通过android界面的一个按钮来启动一个unity游戏.本文介绍 ...

  8. 【转】Pro Android学习笔记(一):Android 平台 2013.6.4

    本系列是阅读<Pro Android4>的读书笔记,也包括网络阅读资料的整理,以及个人心得. 由于智能手机引入AP(应用处理器),Android在某种意义上是个人计算机,具有桌面计算机的完 ...

  9. android 短信ril移植,将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现...

    摘要:本文通过对Android RIL层代码分析,将android RIL层功能在纯LINUX平台上实现,完全脱离了Android系统.为基于LINUX的通用平台实现一套成熟的RIL层代码,并开发出相 ...

  10. pro android学习笔记,【转】Pro Android学习笔记(一):Android 平台 2013.6.4

    由于智能手机引入AP(应用处理器),Android在某种意义上是个人计算机,具有桌面计算机的完整架构,采用Linux-based OS stack来管理设备.内存和进程.Android的Java库覆盖 ...

最新文章

  1. datatables如何把列设置成hidden隐藏域?
  2. 2021-04-15 深入理解SLAM技术 【2】 SLAM的框架
  3. 路痴的单身小菡 BFS求最短路径+DFS求路径数
  4. vue_组件_非prop特性
  5. windows xp 下使用 windows 2003的远程桌面
  6. kafka可视化客户端工具(Kafka Tool)的使用
  7. Bootstrap3 响应式表格
  8. 001-JavaScript简介
  9. eclipse创建第一个JSP项目
  10. W806串口管脚复用
  11. CSDN写作小技巧—— Markdown 语法排版
  12. webservice概述及cxf在Java开发中应用(三) cxf客户端开发
  13. mp4v2再学习 -- Linux 下安装说明
  14. live.com与live.cn邮箱收不到QQ绑定激活信的解决方法
  15. 工厂设计模式 - 详解
  16. 计算机与生物教学思路和方法,信息技术与生物教学相互融合
  17. linux shell 判断一个文件是不是链接文件
  18. Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone)
  19. Mysql第四天笔记04——视图和索引
  20. 不得了了!刚刚腾讯官宣 Python 开发人才这样选

热门文章

  1. 【Linux】NUC977移植使用libmodbus
  2. Linux logviewer的功能,基于终端的日志工具logview
  3. PFC离散元仿真核心技术与应用
  4. 海思Hi3796MV200最新官方SDK
  5. idea :插件Statistic 统计代码数量和行数
  6. 3D蓝光影碟的SSIF文件
  7. ubuntu查看opencv版本
  8. 图像小波去噪matlab程序,小波去噪程序(用matlab实现)
  9. Spring boot项目集成阿里云短信服务发送短信验证码
  10. c语言程序设计商品库存管理系统,《C语言课程设计商品库存管理系统》.doc