狂奔的蜗牛

博学之,审问之,慎思之,明辨之,笃行之。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

常见错误:Undefined symbols for architecture i386

Posted on 2013-03-06 10:50  蜗牛狂奔  阅读(56146)  评论(0编辑  收藏  举报

常见错误描述:

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

这个错误的发生原因一般是“XXX”这个文件(类库)虽然引入了工程中,但是由于种种原因(常见于多人开发,svn同步不规范)导致“XXX”并未被添加到project.pbxproj这个文件中。

解决方法是点击工程,在targets界面中找到Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。