cocos2d-x v2.2 IOS工程支持64-bit 遇坑记录
修改缘由
由于 iPhone 5S的A7 CPU iPhone 6(A8 CPU)都已经支持64-bit ARM 架构,据说64位处理器跑64代码会提高处理能力?因此二月一新提交appstore应用必须支持64位并且六月份更新应用也必须支持。
支持64bit 关于Xcode “Build Setting” 设置
1. Xcode “Build Setting”中的Architectures参数必须设置Standard architectures (armv7,arm64).
2. Xcode “Build Setting”中的Valid Architectures 包含armv6 armv7 arm64
貌似两个指令集交集才是最终支持的版本
cocos2d-x 修改点:
cocos2d-x v2.2.6 已经支持64-bit,可以对照修改
1. libcurl.a libwebp.a 和相应的头文件 替换成支持64bit 库 2.2.6版本查找
cocos2d/kazmath/src/neon_matrix_impl.c
cocos2d/kazmath/src/mat4.c
#if defined(__ARM_NEON__) 替换成 #if defined(_ARM_ARCH_7)
2.luajit 不支持64位如下:
Because luajit doesn't support 64-bit, so we use lua on iOS 64-bit. Considering performance issue, all other platforms include iOS 32-bit, we uses luajit. It means that you can not use lua bytecode on iOS if you build a single binary with both 32-bit and 64-bit code, because lua bytecode generated by lua and luajit are not compatible.
因此设置成64位 使用lua 32位代码依旧使用luajit设置如下:
Xcode “Build Setting”中的LIbrary Search Paths:
添加:"$(SRCROOT)/../../../scripting/lua/lua/ios" (检查符合自己工程路径)
Other Linker Flags: 增加如下参数 -z -lua (不懂,求大神答疑。貌似为了能连接到~)
3.检查第三方库,如 友盟 talkingdata 等一般都发布了最新版本
4.cocos2dx.xcodeporjArchitectures参数不要忘记修改成支持64位
5.根据上述改变,官方文档 64-Bit Transition Guide for Cocoa Touch检查代码
主要问题是指针。 32位处理器4位,和int一样可以互转。64位处理器指针是8位不能直接转成int 要用intptr_t(不同处理器下定义与指针同位数)
例如:
CCCallFuncND::create( this , callfuncND_selector(Test::TestFunc1),(void *)10) , NULL );
回调中想传递参数10 32位时对于回调参数void* data 直接(int)data 即可,但64位会变异不过,要修改为(int)(intptr_t)data
注意不要与如下用法用混:
int a = 10
CCCallFuncND::create(this , callfuncND_selector( Test::TestFunc2),&a);
传递指针int num = *(int*)data
cocos2d-x v2.2 IOS工程支持64-bit 遇坑记录的更多相关文章
- iOS工作小技巧及填坑记录
以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名. ...
- Unity3d使用高通Vuforia发布IOS工程不支持64位的一些解决办法
1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Setting ...
- iOS工程适配64-bit经验分享
终究还是来了.Apple下发了支持64位的最后通牒: As we announced in October, beginning February 1, 2015 new iOS apps submi ...
- iOS 工程自动化 - 思路整理
4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻. 来自 @zesming 大佬 后来跟 @zesming 大佬沟通怎 ...
- GJM : Unity3D HIAR -【 快速入门 】 六、导出 iOS 工程
导出 iOS 工程 在开始之前,请务必先保存您的工程.由于 Unity 无法直接生成 ipa 文件,您需要先导出 iOS 工程文件,然后通过 Xcode 编译生成. Step 1. 选择平台 在 Un ...
- iOS 不支持 PWA,那又怎么样?
原文链接http://www.zcfy.cc/article/ios-doesn-8217-t-support-progressive-web-apps-so-what-cloud-four-3400 ...
- 如何将 iOS 工程打包速度提升十倍以上
如何将 iOS 工程打包速度提升十倍以上 过慢的编译速度有非常明显的副作用.一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等.这种认知上下文的切换会带来很多隐形的时间浪费. ...
- iOS 工程自动化 - OCLint
前言 最近一直在做 iOS 工程自动化方向的事情,所以把自己研究和实践的内容进行记录并分享,希望能给大家一些帮助. 为什么要使用 OCLint 做为一个静态代码分析工具,我们引入 OCLint 的目的 ...
- UI:一个IOS工程的标准框架
来自cocachina 的写法 参考 声明:本文来自互联网,非本人原创,仅供参考学习使用. 我的iOS工程结构 接下来,我就简单介绍下我做iOS项目时使用的工程结构.首先要说的是,这只是我的工程结构, ...
随机推荐
- Android开发技术重要参考资料
只言片语 有的时候看不懂别人的代码,觉得自己笨:其实,你想多了,看不懂不是因为你蠢而是别人的代码写得烂:所以,别那么宽容别人却苛责自己. 参考资料 郭霖 way 爱哥 有心 胡凯 robin trin ...
- form, table表示表格的时候有什么区别?
http://zhidao.baidu.com/link?url=1DFrMJlzV_fHSyGmKEi77ki6g2IrjrMfRGwVYNHL5Y8iJC9Diu2BoMGEiB3wbnkTCHm ...
- 【OpenCV】SIFT原理与源码分析:关键点搜索与定位
<SIFT原理与源码分析>系列文章索引:http://www.cnblogs.com/tianyalu/p/5467813.html 由前一步<DoG尺度空间构造>,我们得到了 ...
- Spring 与 SpringMVC 容器父子关系引出的相应问题
1)关系说明 spring 与 springmvc 父子关系:spring (父容器),springmvc (子容器) springmvc(子)--- 可调用 --> spring(父) 中的 ...
- 超越icon font
很久以前,我们如何使用图标? 1.切图 2.拼合(Sprites) 原始社会啊! 后来CSSGagagrunt-css-sprite 字体图标 相见不曾相识 Emoji绘文字 iconfont.cn直 ...
- 从零搭建SSM框架(五)Maven实现Tomcat热部署
配置tomcat 第一步:需要修改tomcat的conf/tomcat-users.xml配置文件.添加用户名.密码.权限. <role rolename="manager-gui&q ...
- [译]Quartz.Net 框架 教程(中文版)2.2.x 之第三课 更多关于Jobs和JobDetails
第三课 更多关于Jobs和JobDetails 在这二课我们已经学习到,Jobs接口非常容易实现,只有一个execute方法.我们需要再学习一些知识去理解jobs的本质,Job接口的execute方法 ...
- 【BZOJ】4358: permu 莫队算法
[题意]给定长度为n的排列,m次询问区间[L,R]的最长连续值域.n<=50000. [算法]莫队算法 [题解]考虑莫队维护增加一个数的信息:设up[x]表示数值x往上延伸的最大长度,down[ ...
- IP判断 (字符串处理)
关于IP合法性判断的题目,每个oj上的约束条件不尽相同,我就根据自己做过的题目吧所有的约束条件汇总到一块,到时候做题时只需要把多余的越是条件删掉即可 题目描述: 对于IP我们总会有一定的规定,合法的I ...
- HNU Joke with permutation (深搜dfs)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=13341&courseid=0 Joke with pe ...