Undefined symbols for architecture i386:ld: symbol(s) not found for architecture i386

昨天项目还好好的,今天一编译竟然报错:

Undefined symbols for architecture i386:
  "_KCCategorySentence", referenced from:
      ___58-[EvaSettingController tableView:didSelectRowAtIndexPath:]_block_invoke_2 in EvaSettingController.o
      -[XFParams setDefault] in XFParams.o
      ___58-[EvaSettingController tableView:didSelectRowAtIndexPath:]_block_invoke_2 in EvaSettingController.o
      -[XFParams setDefault] in XFParams.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

也是醉了,因为没有改动过项目,所以很诧异.

 

解决方法如下:

1.根据报的错误来看,初步判断是在[EvaSettingController tableView:didSelectRowAtIndexPath:]这个方法中出现的错误.

2.进到方法中,找到_KCCategorySentence这个变量,并没有什么问题.

3.来到定义变量的位置,真是坑爹啊!

手误插入了一个字母,欲哭无泪,这能怪谁啊!!!

 

总结:

当遇到这类错误时,可以根据错误提示,先进到方法中,再找到变量,一步一步筛选排查错误.

 

posted @ 2016-06-17 17:45  Magic_Yu  阅读(228)  评论(0)    收藏  举报