此前,我的开发环境是Windows7(64bits)+VMware 9.0+Mac OS 8.5+Xcode 4.5,结果在测试游戏中集成目前最新的ShareSDK(ShareSDK For iOS 2.10.3,而ShareSDK For COCOS2D-X也是目前最新的)时失败。出现如下图所示的编译错误:
而第二个错误如下图:
显然,这两个错误都来自ShareSDK官方文件。注意:在基于Cocos2d-x框架开发的游戏中集成ShareSDK实现iOS版本时需要两个部分(其中也要加入上面的ShareSDK For iOS部分中的一部分)。具体细节,请详细研究cocos2d-x快速集成指南(URL是http://wiki.mob.com/cocos2d-x%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/,我使用的目前不是cocos2d-x 3.x快速集成指南,此原文基于cocos2d-x 2.2.0版本,我当前使用的是cocos2d-x 2.2.3;但是,很快我也会升级到cocos2d-x 3.x版本的集成)。
在两次请教ShareSDK官方负责朋友后,我基本定位错误原因在当前的GCC版本太低了(当然要围绕blocks)。于是,狠下心来下载了新的VMware Workstation 10.0.2+Mac OS 10.9+Xcode 6.1。重新编译此前工程时基本上是一路顺风走下来的。
补充
在安装新环境后,感觉有了不少变化。其中最明显的一点是,原来情况下,我只要把Win7下的文件夹设置为与Mac OS 10.8共享后即可在Xcode 4.5中打开与操作游戏工程,但是现在不行了--出现著名的错误“clang failed with exit code 254”。无奈,参考网络文章(http://zhidao.baidu.com/link?url=5WyS4C5HmSck8SECJsFBmVZaAYU6pyjCUKBGRhkkr3_wiKG84pR8wkG4L5-KqgVzcRHiw-13EzF0lnedY9HBIE4j1UcNJtWozEVNGz4ablW)后,我只好把游戏工程使用Finder从原来共享位置复制到Mac OS内部的一个文件夹[文稿]下。再重新编译运行工程OK!