重复的符号错误:SBJsonParser.o?

Sim*_*iwi 5 symbols duplicates ios sbjson

我目前在我的项目中有ShareKit,它被编译为静态库.它已得到妥善实施.我还通过将他们的框架添加到我的项目中来实现亚马逊的AWS SDK.

似乎重复的符号来自亚马逊的AWS SDK文件"AWSIOSSDK".这就是它的样子:

在此输入图像描述

该文件与ShareKit的文件libShareKit.a发生冲突.这是该文件的样子:

在此输入图像描述

无论如何,这些文件都是我以前从未见过的文件.似乎有些JSON文件在它们之间发生冲突.

我已经查看了其他SO问题,并且他们说要使用已编译的源代码执行某些操作,但这些文件都不在任何库的编译源中.

这是Xcode给出的确切错误:

ld: duplicate symbol _OBJC_CLASS_$_SBJsonParser
Run Code Online (Sandbox Code Playgroud)

无论如何,有没有人有任何想法我应该做什么?除非我解决这个问题,否则我的应用程序无法编译

谢谢!

Til*_*ill 5

您可以继续将库存档拆分为其目标文件,并通过省略重复项来再次合并它们.

请参阅以下演练以了解管理该任务的想法: 通过从静态库中删除类来避免链接期间出现重复的符号错误


Rob*_*ier 4

这两个都已内置SBJsonParser到其静态库中。这不是构建静态库的正确方法。每个都应该在没有 的情况下构建SBJson,然后您应该用 来将它们全部链接在一起SBJson。有几种解决方案:

  • 重建这些库(或让其维护者这样做),以免将第三方库直接包含到静态库中。这是理想的解决方案。
  • 使用 删除文件SBJson中不正确的文件。您应该能够使用列出其中的对象然后删除不应该在其中的对象来执行此操作。您当然也可以提取所有文件并直接链接它们。.aarar -t.aar -dar -x.o