我正在尝试使用cocos2d-x作为游戏引擎,我已经尝试使用RubyMotion和MonoTouch来检查是否可以使用cocos2d-x二进制文件。 但RubyMotion和MonoTouch都遇到了相同的链接器错误:
duplicate symbol _SHA1 in:
libcocos2dx.a(sha-1.o)
libcocos2dx.a(sha1_one.o)
我做了一项研究并想出了以下内容: _SHA1符号在libcurl.a中定义,它在cocos2d-x externals中打包为预编译的静态库。在构建cocos2d-x期间,XCode调用libtool创建通用二进制文件libcocos2dx.a并根据this article libtool本身创建重复符号(在某些情况下与类别bug有关)。 虽然作者说明了他如何解决他的案件中的类似问题,但我不确定如何将他的解决方案应用于我的案例(如果可以的话,可以应用)。
我不知道从哪里开始,因为我希望使用Ruby或C#来开发我的游戏。是否有可能解决这个libtool / linker问题并获得没有重复符号的静态库?
P.S。请注意,如果我在我的XCode项目中使用相同的cocos2d-x二进制文件作为xcode项目,那么一切都很好。但我想用ruby / c#编码。
答案 0 :(得分:0)
作为一个选项,您可以使用带有cocos2d-x样本的MacOS项目模板。我们用这种方式制作了几个项目(其中两个已经在商店里)。