Google服务 - 链接

时间:2016-02-22 10:43:34

标签: ios xcode google-play-games duplicate-symbol

我在我的应用中集成了ios的google服务。出于我无法控制的原因,我无法使用cocoapods,因此我遵循了here概述的手动方法。

问题是Play Games C ++ SDK Version 2.1(gpg.framework)。当我添加它时,(构建阶段,链接二进制文件库,+)和构建我得到了很多重复的符号错误:

  

重复符号_AES_decrypt in:       ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(libgpg.a-arm64-master.o)       ../../../../../猴/模块/ googleservices /天然的/ GPG-CPP-SDK / IOS / gpg.framework / GPG(aes.o)

     

。 。

     

重复符号__ZTVN4buzz10XmlBuilderE in:       ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(libgpg.a-arm64-master.o)       ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(xmlbuilder.o)   ld:7242架构arm64 clang的重复符号:错误:链接器   命令失败,退出代码为1(使用-v查看调用)

我花了一天的时间来讨论堆栈溢出中重复符号的常见原因,似乎没有任何工作。删除所有谷歌框架并重新添加它们,在不同项目中添加谷歌框架(同一问题),清除派生数据等。

关于可能导致什么的任何想法?非常感谢,谢谢。

规格:

  • Xcode 7.2.1
  • 部署目标:7.0
  • Play Games C ++ SDK Version 2.1

1 个答案:

答案 0 :(得分:0)

这可能不是最佳解决方案,但我通过打开gpg文件并删除包含重复符号的违规.o文件来解决它。

按照说明here

我删除的文件是libgpg.a- *和example_mul.o

不能保证一切正常,但至少它让我在此时登录谷歌服务。