最近在学习ASIHTTPRequest类库进行网络操作,但是在把ASIHTTPRequest源码拖入到自己的工程里,添加完类库文件后,build后出现编译错误。大体错误信息如下:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIHTTPRequest", referenced from:
objc-class-ref in ASIInputStream.o
_OBJC_CLASS_$_ASIFormDataRequest in ASIFormDataRequest.o
objc-class-ref in ASIFormDataRequest.o
objc-class-ref in ASINetworkQueue.o
objc-class-ref in ASIDownloadCache.o
objc-class-ref in NLNetHelper.o
"_OBJC_METACLASS_$_ASIHTTPRequest", referenced from:
_OBJC_METACLASS_$_ASIFormDataRequest in ASIFormDataRequest.o
"_NetworkRequestErrorDomain", referenced from:
-[ASIFormDataRequest addFile:withFileName:andContentType:forKey:] in
我的Xcode是4.5.1
第一种,比较简单的解决方法,点击项目,右边窗口中选择build Phase s,然后点击compile sources选项的下拉框中,点击加号(+)add后,然后把以.m后缀的文件选中,最后ADD。
第二种,其实这种问题的出现在与,我们把类库源代码文件拖入到工程时没有没有选中addTarget选项,如果勾选上了一般不会出现这种问题。