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

雨过晴空
ios 编译错误--文件连接错误


今日在学习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)






 


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


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


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


 


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






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


其实,不仅仅是在使用第三方类库时有这种问题,有时候我们自己在工程里新建的文件Xcode也不会加载(我不是很理解为什么),总之下次遇见Undefined symbols for architecture i386知道是文件连接的错误就好解决了。


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值