3

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

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

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

4

3 回答 3

2

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

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

于 2012-07-11T20:05:07.240 回答
1

只需转到构建设置

搜索No Common Blocks

将其设置为NO

并再次构建,您将不会再次收到此错误。

干杯KP

于 2017-05-22T13:03:40.580 回答
0

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

于 2012-07-11T19:57:01.683 回答