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