cocos2dx支持arm64

2015年2月1日后新提交的应用必须要支持64位架构。

我所使用的是cocos2d-x V2.0版本,而且源码有部分代码是修改过的。好在cocos2d-x官方已经放出了一个支持64位的2.2.6版本,可以做为参考。

 

在修改之前,有必要了解一下32位与64位的一些区别,网上能搜索到的资料有很多,这里简单列一下(尽量通过图表的方式)

 

I代表int、L代码Long、P代表Pointer

通过上图,大家很容易就发现主要的不同点在long与pointer上

 

废话不多说。先来看一下哪些需要修改的。

 

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

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

2. Xcode “Build Setting”中的Valid Architectures 包含armv6 armv7 arm64

 

替换项目中用到的库文件

我这边以我项目为准说明:替换

替换cocos2dx/platform/third_party/ios/curl 目录下相关.h文件

替换libwebsockets/ios/include 目录下头.h文件

替换libcurl.a、libwebp.a、libwebsockets.a

 

修复td string错误

 

第一、Build Settings-->Apple LLVM 8.1 - Language - C++ --> C++ Standard Library,设置为:libstdc++(GNU C++ standard library)

然后Clean工程,然后重新Build,看是否可以成功。

 

第二、如果上述设置仍旧不能解决你的问题,你还可以尝试Build Phases --> Link Binary With Libraries里面增加库:libstdc++.dylib

经测试编译通过。

posted @ 2018-01-16 14:30  小鱼2015  阅读(2301)  评论(0编辑  收藏  举报