ShareSDK向iOS平台移植时问题及解决办法

问题

此前,我的开发环境是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版本的集成)。

分析

此前,注意到上述错误都围绕Objective-C中的新内容Blocks(这里使用了oc与c++混合编程技术员)。在仔细地学习了这个新知识点后,我简单地认为可能ShareSDK官方在Blocks编程时出现了问题(因为搜索网络上的文章说,从Xcode 4.3开始其内置Gcc编译器已经支持Blocks了,而我使用的是Xcode 4.5+LLVM GCC 4.2)。于是,相当然地对上述两个文件作了修改:把blocks内普通形式的局部变量提取出来前面添加以__block。其实,现在看来我还没有根本理解blocks用法,上述表达没有问题。

在两次请教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!

时间: 2024-10-19 04:57:56

ShareSDK向iOS平台移植时问题及解决办法的相关文章

Opencv程序移植时问题及解决,移植成功啦,哈哈

Opencv移植方法:http://blog.csdn.net/b5w2p0/article/details/8976665 我用的是Cmake,最终成功,把路径下生成的so文件拷到开发板的  /lib文件下. 在这之前也可能要移植ffmpge:http://blog.csdn.net/b5w2p0/article/details/38455071 遇到问题多看文章,多试几次最终一定会成功. 现在就可以编译程序啦: <span style="font-size:18px;">

Python 2.7安装setuptools时的UnicodeDecodeError解决办法

我猜~~~很多一开始学习python的同学们一定也遇到了这个问题,在安装setuptools时候会遇到UnicodeDecodeError的错误. 我学的是3.x,但是周围的人都说2.7好,╮(╯▽╰)╭一开始我也不在乎,但是工作需要使用mongodb,但是它的包暂时只有2.7,我点点点点. 无奈我也就换了版本,改为2.7,但是问题来了,当我想安装setuptools的时候,恶心的错误来了.真的不知道安装这种成熟的工具还有这种问题. 在经过各种谷哥.度娘之后,有的说在代码中制定编码,试了不行,有

python安装markupsafe模块时卡死的解决办法

起因: 升级OS X从10.8到10.9,会发现在安装python的markupsafe模块时一直卡住. 当时的机器环境是: OSX 10.9, XCode 4.6.2, Python 2.7.6, Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) 界面一直停留在下面的情况 mbp:MarkupSafe-0.23 $ python setup.py install running install running bdis

iOS开发百度地图常见问题及解决办法

1.64bit模拟器不能正常工作 解决:请将Xcode5 的 Project -> Edit Active Target -> Build Settings -> Linking -> Other Linker Flags 中的"-ObjC"修改为"-all_load" 2.程序死在 _mapView = [[BMKMapView alloc] init]; 解决:很可能是由于没有在appDelegate里面初始化_mapManager 3.

PHP编译安装时常见错误解决办法,php编译常见错误

PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解决方法: yum -y install libxslt-devel 2.configure: error: Could not find net-snmp-config binary. Please check your net-snmp installa

linux编译安装时常见错误解决办法

linux编译安装时常见错误解决办法 This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution复制代码 代码如下:yum -y install libxslt-devel c

Win32游戏到Android平台移植时必须解决的问题集锦

这方面的问题很多,在目前网络上很难找到满足的答案.我在这里将把自己的一个游戏从WIN32到ANDROID移植过程必须面对和要解决的问题,列举出来(有些是已经得到回答的,有些还未解决). 1,如何显示自己的游戏程序图标 这个使用传统的android平台思路实现即可,即修改工程的proj.android\res路径下drawable-hdpi.drawable-ldpi.drawable-mdpi.drawable-xhdpi下的icon.png文件. 注 意:一次试验中我仅修改了drawable-

COCOS2D-X项目在XCODE没有IOS Simulator,无法仿真的解决办法

我把WIN7下用VS2012做好的项目移植到IOS,在OSX环境下用cocos new 生成一个项目,把原来的classess和Resources覆盖新生成的XCODE项目,,然后用XCODE打开项目添加好上述文件,如下图: 默认的scheme是libcocos2d IOS项目,有IOS SIMULATOR,但是 这个项目是无法启动仿真器的. 而我需要的是下图的SCHEME,但是不是默认的,而且没有IOS SIMULATOR供选用: 解决办法如下: 第一步: 第二步: 第三步: 第四步: 这样生

EW8051-8302编译CC2540官方例程时出错的解决办法

Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0xe more bytes needed. The problem occurred while processing the  segment placement command "-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at