Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2d-x v2.2 IOS工程支持64-bit 记录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

修改缘由

@H_489_4@由于 iPhone 5S的A7 CPU iPhone 6(A8 CPU)都已经支持64-bit ARM 架构,据说64位处理器跑64代码会提高处理能力?因此二月一新提交appstore应用必须支持64位并且六月份更新应用也必须支持。

支持64bit关于Xcode “Build SetTing” 设置

@H_489_4@1.Xcode “Build SetTing”中的Architectures参数必须设置Standard architectures (armv7,arm64).

@H_489_4@2.中的Valid Architectures 包含armv6 armv7 arm64

@H_489_4@貌似两个指令集交集才是最终支持的版本

cocos2d-x 修改点:

cocos2d-x v2.2.6 已经支持64-bit,可以对照修改

@H_489_4@

@H_489_4@1.libcurl.a libwebp.a 和相应的头文件 替换成支持64bit 库 2.2.6版本查找

@H_489_4@

 cocos2d/kazmath/src/neon_matrix_impl.c
 cocos2d/kazmath/src/mat4.c
 #if Defined(__ARM_NEON__) 替换成 #if Defined(_ARM_ARCH_7)
@H_489_4@2.luajit 不支持64位如下:

@H_489_4@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.

@H_489_4@因此设置成64位 使用lua 32位代码依旧使用luajit设置如下:

@H_489_4@Xcode “Build SetTing”中的LIbrary Search Paths:

@H_489_4@添加:"$(SRCROOT)/../../../scripTing/lua/lua/ios" (检查符合自己工程路径)

@H_489_4@Other Linker Flags: 增加如下参数 -z -lua (不懂,求大神答疑。貌似为了能连接到~)

@H_489_4@3.检查第三方库,如 友盟 talkingdata 等一般都发布了最新版本

@H_489_4@4.cocos2dx.xcodeporjArchitectures参数不要忘记修改成支持64位

@H_489_4@

@H_489_4@ 5.根据上述改变,官方文档64-Bit Transition Guide for Cocoa Touch检查代码

@H_489_4@主要问题是指针。32位处理器4位,和int一样可以互转。64位处理器指针是8位不能直接转成int 要用intptr_t(不同处理器下定义与指针同位数)

@H_489_4@例如:

@H_489_4@CCCallFuncND::create( this,callfuncND_SELEctor(Test::TestFunc1),(void *)10),NULL );

@H_489_4@

@H_489_4@回调中想传递参数10 32位时对于回调参数void* data 直接(int)data 即可,但64位会变异不过,要修改为(int)(intptr_t)data

@H_489_4@注意不要与如下用法用混:

@H_489_4@int a = 10

@H_489_4@CCCallFuncND::create(this,callfuncND_SELEctor( Test::TestFunc2),&a);

@H_489_4@传递指针int num = *(int*)data

大佬总结

以上是大佬教程为你收集整理的cocos2d-x v2.2 IOS工程支持64-bit 记录全部内容,希望文章能够帮你解决cocos2d-x v2.2 IOS工程支持64-bit 记录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。