0

我正在将 ios 的谷歌服务集成到我的应用程序中。由于我无法控制的原因,我无法使用 cocoapods,因此我遵循此处概述的手动方法。

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

重复符号 _AES_decrypt 在:../../../../../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(aes.o)

. . .

重复符号 __ZTVN4buzz10XmlBuilderE 在:../../../../../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
  • 玩游戏 C++ SDK 2.1 版
4

1 回答 1

0

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

按照此处的说明进行操作。

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

不能保证一切正常,但至少它让我在这一点上进行谷歌服务登录。

于 2016-02-23T09:00:56.913 回答