我正在尝试使用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外部变量内部的预编译静态库。在构建cocos2d-x的过程中,XCode调用libtool来创建通用的二进制libcocos2dx.a,并且根据this article的说法,libtool本身会创建重复的符号(在某些情况下与类别bug有关)。虽然作者陈述了他是如何在他的案例中解决类似问题的,但我不确定如何将他的解决方案应用到我的案例中(如果它完全可以应用的话)。
我不确定接下来该怎么做,因为我希望使用Ruby或C#来开发我的游戏。有没有可能解决这个libtool/linker问题,并得到没有重复符号的静态库?
附注:请注意,如果我在xcode项目中使用与XCode项目相同的cocos2d-x二进制文件,那么一切都很好。但是我想用ruby/c#编写代码。
发布于 2014-02-27 00:04:22
作为一种选择,您可以使用MacOS的项目模板,它附带了cocos2d-x示例。我们已经用这种方式做了几个项目(其中两个已经在商店里了)。
https://stackoverflow.com/questions/22012386
复制相似问题