Objective c 使用ASIHTTPRequest和SBJSON时,iOS 5.1出现错误
我得到这个错误:Objective c 使用ASIHTTPRequest和SBJSON时,iOS 5.1出现错误,objective-c,asihttprequest,sbjson,libz,Objective C,Asihttprequest,Sbjson,Libz,我得到这个错误: Undefined symbols for architecture i386: "_OBJC_CLASS_$_ASIHTTPRequest", referenced from: objc-class-ref in FirstViewController.o "_OBJC_CLASS_$_SBJsonParser", referenced from: objc-class-ref in FirstViewController.o ld: symb
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIHTTPRequest", referenced from:
objc-class-ref in FirstViewController.o
"_OBJC_CLASS_$_SBJsonParser", referenced from:
objc-class-ref in FirstViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
注意,我添加了框架核心图形、系统配置、移动核心服务、LIb.DyLIB、LBZ.1.2.5、DyLIB、CF网络、UI工具包和基础。 我搜索了所有的论坛,花了将近4天的时间,但就是没有找到原因
当我注释我的ASIHTTPRequest和SBJSON代码行时,它工作得很好。 我已经添加了ASIHTTPRequest和SBJSON的所有类,并检查了三次。有人能告诉我我做错了什么吗?对于ASIHTTPRequest错误,听起来好像您没有将ASIHTTPRequest.m添加到项目中
(或者您已经添加了ASIHTTPRequest.m,但是忘记了提到xcode发出的关于ARC的40亿个错误-请参见)我将查看目标中的构建阶段部分。在“编译源代码”下,确保看到ASIHTTPRequest和SBJson的.m文件。有时,当您将外部类拖动到项目中时,即使您选中该复选框将文件复制到项目中,它们也不会将文件复制到这些编译源中。将文件拖动到Xcode中时,会出现一个复选框,用于将文件添加到目标。如果未选中此选项,该文件将无法进入编译源代码。删除文件并重新添加,确保选中此文件(如果愿意,也可以手动添加.m文件) 我也遇到了同样的问题,但当我包含以下框架时 现在可以正常工作了。别忘了在编译源代码中包含-fno-objc-arc
最美好的祝愿……对于ASIHTTP请求,请添加以下框架:
- libz.1.2.5.dylib
- 系统配置
- UIKit
- 基础
- 岩芯图
- 流动储备
- CFNetworks
-fno objc ARC
关闭项目->构建阶段->编译源代码中的ASIHttpRequest
类的ARC
希望它能解决问题。删除后刚刚重新启动一次,可能是我的项目在未识别的部分下,在终端ps-el | grep'Z'中了解到任何答案对您有用吗?如果是这样,你应该接受其中一个。