【发布时间】:2012-07-11 12:41:24
【问题描述】:
我在我的库中使用 SBJson 类并尝试在我的项目中使用该库我遇到重复符号错误,因为我也在主项目中使用这些文件。
我无法为这些文件添加前缀,那么通常如何解决这个问题?
我看到其他建议使用前缀重命名类的答案,但这并不是真正的解决方案,因为这些文件有重复是正确的 - 它是一个开源代码。
【问题讨论】:
标签: objective-c xcode symbols
我在我的库中使用 SBJson 类并尝试在我的项目中使用该库我遇到重复符号错误,因为我也在主项目中使用这些文件。
我无法为这些文件添加前缀,那么通常如何解决这个问题?
我看到其他建议使用前缀重命名类的答案,但这并不是真正的解决方案,因为这些文件有重复是正确的 - 它是一个开源代码。
【问题讨论】:
标签: objective-c xcode symbols
您可以从库项目目标中删除 SBJSON (.m) 文件(使用 Xcode 中的“构建阶段” 屏幕)然后项目应该能够使用作为 主项目 一部分的 SBJSON 文件进行编译。但是,如果两个项目使用不同版本的 SBJSON 库,则可能会出现问题。
我个人希望所有库项目不包含其他库,但请注意(在 “Read Me” 文件或其他文件中)它是一个依赖项,由开发人员决定是否将依赖项包含在主要项目。由于这些东西,我过去遇到过很多重复符号的问题。
【讨论】:
只需转到构建设置和
搜索 No Common Blocks 和
设置它否。
再次构建,您将不会再出现此错误。
CheersKP
【讨论】:
您可以只在项目中包含 .h 文件,然后为 SBJson 删除 .m。这样你就可以在你的代码中导入 .h 并且它会编译。
【讨论】: