【问题标题】:Duplicate symbol for class in library and project库和项目中类的重复符号
【发布时间】:2012-07-11 12:41:24
【问题描述】:

我在我的库中使用 SBJson 类并尝试在我的项目中使用该库我遇到重复符号错误,因为我也在主项目中使用这些文件。

我无法为这些文件添加前缀,那么通常如何解决这个问题?

我看到其他建议使用前缀重命名类的答案,但这并不是真正的解决方案,因为这些文件有重复是正确的 - 它是一个开源代码。

【问题讨论】:

    标签: objective-c xcode symbols


    【解决方案1】:

    您可以从库项目目标中删除 SBJSON (.m) 文件(使用 Xcode 中的“构建阶段” 屏幕)然后项目应该能够使用作为 主项目 一部分的 SBJSON 文件进行编译。但是,如果两个项目使用不同版本的 SBJSON 库,则可能会出现问题。

    我个人希望所有库项目不包含其他库,但请注意(在 “Read Me” 文件或其他文件中)它是一个依赖项,由开发人员决定是否将依赖项包含在主要项目。由于这些东西,我过去遇到过很多重复符号的问题。

    【讨论】:

    • 是的......我可以在开发过程中保持我的依赖并将其排除在目标之外,这基本上是框架和第三方库所发生的事情。
    • 完美。我正在使用两个具有相同组件的第三方库。这成功了;)
    【解决方案2】:

    只需转到构建设置

    搜索 No Common Blocks

    设置它

    再次构建,您将不会再出现此错误。

    CheersKP

    【讨论】:

      【解决方案3】:

      您可以只在项目中包含 .h 文件,然后为 SBJson 删除 .m。这样你就可以在你的代码中导入 .h 并且它会编译。

      【讨论】:

        猜你喜欢
        • 2018-11-24
        • 1970-01-01
        • 2017-12-02
        • 1970-01-01
        • 2012-08-27
        • 2011-03-23
        • 1970-01-01
        • 1970-01-01
        • 2015-05-17
        相关资源
        最近更新 更多