按苹果最新指示,将cocos2dx 2.0修改为支持arm64后遇到的问题

苹果要求明年2月1号后,所有app的更新都要支持arm64,于是就把cocos2dx 2.0的项目,增加了64位的支持。

然后遇到了这样的问题:
/Users/fazhanli/Documents/Documents/Private/归档/projectName/libs/cocos2dx/platform/third_party/ios/curl/curlrules.h:143:6:curl_rule_01’ declared as an array with a negative size

错误代码如下:

typedef char
curl_rule_01
;

网上搜索了一下,说是把arm64的支持去掉就能解决问题。这也太搞笑了,如果去掉arm64解决这个问题的话,如何解决苹果强制要求的问题啊?
急求大神解答!!!

修改的版本是cocos2dx.2.2

1.在neon_matrix_impl.c中修改

#if defined(ARM_NEON)
#if defined(_ARM_ARCH_7)

2.在mat4.c中修改

#if defined(ARM_NEON)
#if defined(_ARM_ARCH_7)

  1. "curl_rule_01 " 下载 http://seiryu.home.comcast.net/~seiryu/software/ioscurl-7.36.0.tar.gz,1
    找到cocos2dx/platform/third_party/ios/
    替换 curl/libraries/libcurl.a
    替换curl文件夹下的所有.h文件

4.“Cast from pointer to smaller type ‘int’ loses information”
(int)转变为(long) 注:此方法稍微有点暴力,转换后有类型警告,不过不影响程序运行

5.把cocos2dx 3.0中的libwebp.a 替换 cocos2dx/platform/third_party/ios/libraries/libwebp.a

谢谢大神,我试下哈!

这方法可以用吗?

跟着做出现了这个错误

是啊 我也遇到了这个问题。有对2.2版本的更改么。因为以前的一个项目是2.2开发的。

请关注Cocos2d-x 2.2.6的发布。支持64位。

谢谢~~最近都看3.X去了,忘记看2.X更新了。。果然贴心啊

你好,我按照你的办法可以编译通过arm64,但是为啥CCLabelTTF有的不显示?

我也遇到了同样的问题,请问解决了么

把引擎下面的Ios 文件/cocos2d-x-2.2.1/cocos2dx/platform/ios 这个文件的东西全都替换掉

我也遇到你这样的问题了?我想问一下你是怎么解决的?直接换成2.2.6版本的引擎了?

有人解决了吗?

好像是字体丢失,我把字体写死就好了。。。具体不清除

请问你这个问题解决了么????

从哪儿下的文件替换???

— Begin quote from ____

引用第8楼liuyi616于2015-02-04 19:01发表的 回 1楼(zsly3n) 的帖子 :
你好,我按照你的办法可以编译通过arm64,但是为啥CCLabelTTF有的不显示? http://www.cocoachina.com/bbs/job.php?action=topost&tid=235765&pid=1237533

— End quote

请问这个问题解决了吗?

有用,学到了,thanks