_OBJC_CLASS_$_SBJsonParser被引用但找不到,出现错误。

3
当我尝试在Xcode中编译我的项目时,遇到以下错误:
“i386架构未定义符号:_OBJC_CLASS_ $ _SBJsonParser”,并且无论我尝试了什么都无法解决这个问题。以下是我的尝试:
1.从Build Phases的Compile sources中删除“NSObject+SBJSON.m”和“NSString+SBJSON.m”文件,然后再添加回去。
2.在Build Settings中为Valid Architecures添加i386。
3.尝试使用-all_load链接器标志。
非常感谢您的帮助。

1
我不确定是什么导致了你的链接错误,所以我不会将这个作为答案发布出来。但是,如果你厌倦了处理SBJsonParser,你可以切换到NSJSONSerialization(从Mac OS 10.7和iOS 5.0开始可用)。 - Aaron Golden
1
你的项目中包含 SBJsonParser.m 文件吗?你的目标是否包括该文件?SBJsonParser.m 文件中是否包含一行代码 @implementation SBJsonParser - rob mayoff
Rob,是的,SBJsonParser.m已包含在目标中。SBJsonParser确实包含@implementation SBJsonParser。 - codematrix
如果您的目标中的“编译源”构建阶段中没有出现SBJsonParser.m,则我认为@mharper提出了解决方案---即使文件在您的项目中,SBJsonParser也没有被编译。如果SBJsonParser.m未出现在“编译源”构建阶段中,则需要将其添加进去。 - Aaron Golden
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/30942/discussion-between-mharper-and-codematrix - mharper
显示剩余9条评论
1个回答

6
请确保将SBJsonWriter.m、SBJsonParser.m和SBJsonBase.m添加到你的目标的编译源代码构建阶段中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接