修改cocos2d-x 2.x项目支持arm64

2015.2.1以后,所有App Store的应用必须支持arm64。有很多游戏基于cocos2d-x 2.x版本开发。cocos2d-x 2.x之前是不支持arm64的,最近虽然发布了一个支持arm64的版本,但多数开发者对引擎做过修改。如果要更换引擎,工作量还是蛮大的。其实只要做下列几步修改,就能使2.x项目完全支持arm64: 

1. 查看xcode项目中所有.a静态库文件是否支持arm64

命令: lipo -info libxx.a

可以看到,应该已经支持了 i386 x86_64 armv7 armv7s 几种处理器, 而没有arm64. 下载个最新版本的cocos2d-x, 从中找出相应的.a文件及其.h文件, 合成出支持所有处理器的.a文件,并覆盖旧文件。如果调用了百度联盟、腾讯广点通、有盟等第三方sdk, 新版本都已经支持arm64, 更新即可。

合成.a的命令:

lipo –create Release-iphoneos/libxx1.a Debig-iphonesimulator/libxx2.a –output libxx.a 

2. 修改xcode项目内的Architectures配置为支持armv7, arm64

(子项目也要修改)

3. 修改iOS Deployment Target为  iOS 5.1

(子项目也要修改)

4. 下面两个地方的__ARM_NEON__更换为_ARM_ARCH_7

在neon_matrix_impl.c中修改

#if defined(__ARM_NEON__)
为 #if defined(_ARM_ARCH_7)

在mat4.c中修改

#if defined(__ARM_NEON__)
为 #if defined(_ARM_ARCH_7)