您的位置:首页 > 移动开发 > IOS开发

ios 编译错误--文件连接错误

2013-03-27 08:51 267 查看
今日在学习Wattt写的AFNetworking类库,真心佩服这些大神。学了就想着用一下它,于是就新建了工程,将类库直接加在工程里,没成想一运行就报告编译错误,错误如下:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_AFURLConnectionOperation", referenced from:
objc-class-ref in ASViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)





看到这个错误觉得异常的熟悉啊,哦!对了,确实遇见过这样的问题,而且那次解决这个问题的时间很长很长。

其实这个问题很简单,从它的报告上理解就是[b]AFURLConnectionOperation是未定义的标示符,程序构造时找不到这个标示,呵呵,这就简单了我们打开此工程的Build Phase,在compile sources里面将我们自己引入类库的.m文件都加进来,再运行就好了。具体步骤:[/b]

单击工程-->[b]Build Phase选项卡-->[b]单击compile sources下的小“+”,选择你加入类库的.m文件。(都加上哦)[/b][/b]


完成之后将会是如下样子:



问题虽然解决了,那么这是怎么回事呢?我们可以看到在最初的时候[b][b][b]compile sources[/b][/b]下都是只有你的main.m,appDelegate.m,viewController.m,没有你的类库.m文件,也就是说我们把第三方类库放在程序的文件里,没有真正放在程序里,而Xcode在编译程序时,是需要这些文件的,那么我们就需要把他们引进来,按照上述说法改过之后就会发现编译通过了![/b]

其实,不仅仅是在使用第三方类库时有这种问题,有时候我们自己在工程里新建的文件Xcode也不会加载(我不是很理解为什么),总之下次遇见[b]Undefined symbols for architecture i386知道是文件连接的错误就好解决了。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: