2012-04-09 58 views
6

我收到此错误:错误与iOS 5.1当我使用ASIHTTPRequest和SBJSON

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) 

注意:我已经添加了框架核芯显卡,系统配置,移动核心业务,libz.dylib,libz.1.2。 5.dylib,CF网络,UI工具包和基础。 我已经搜索了所有的论坛,花了近4天,但没有找到原因。

当我评论我的ASIHTTPRequest和SBJSON代码行时,它工作正常。 我已经添加了ASIHTTPRequest和SBJSON的所有类并检查了三次。 任何人都可以建议我做错了什么?

+0

是否有任何答案对您有用?如果是这样,你应该接受其中之一。 – 2013-01-08 10:33:11

回答

0

对于ASIHTTPRequest错误,听起来好像您还没有将ASIHTTPRequest.m添加到您的项目中。

(或您加入ASIHTTPRequest.m,但忘了交代4个十亿错误Xcode是发射约ARC - 见Why are my ASIHTTPRequest files showing ARC errors?

+0

删除后刚刚重新启动一次可能是我的项目在无法识别的部分,终于知道在ps -el | grep'Z' – Vacca 2012-04-20 14:36:58

10

我想看看你的目标的构建阶段部分。在“编译源代码”下,确保您看到ASIHTTPRequest和SBJson的.m文件。有时,当您将外部类拖放到项目中时,即使您选中了将文件复制到项目中的方框,也不会将其放入这些编译源中。将文件拖入Xcode时,会出现一个复选框将文件添加到目标。如果没有选中,文件将不会进入编译源。删除文件并重新添加它们,确保检查该文件(或者,如果您愿意,可以手动添加.m文件)。

3

我有这个同样的问题,但是当我包括以下帧作品enter image description here

其做工精细now..Don't忘记在编译源-fno-objc弧enter image description here

祝福.......

4

对于ASIHTTP请求添加以下框架:

  • libz.1.2.5.dylib
  • SystemConfiguration
  • UIKit的
  • 基金会
  • CoreGraphics在
  • MobileCoreServices
  • CFNetworks

如果您使用的是iOS 5的ASIHttp类或更高版本,你需要把ARC关闭的ASIHttpRequest Project-> Build Phases中的类 - >通过使用-fno-objc-arc来编译ASI API类。

希望它解决了这个问题。