Google 服务 - link 上的重复符号

Google Services - Duplicate symbols on link

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

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

duplicate symbol _AES_decrypt 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(aes.o)

. . .

duplicate symbol __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 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

关于可能导致它的原因有什么想法吗?非常感谢帮助,谢谢。

规格:

这可能不是最好的解决方案,但我通过打开 gpg 文件并删除包含重复符号的有问题的 .o 文件解决了这个问题。

已按照说明进行操作 here

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

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