这2天升级到xcode6,用ios8 SDK编译老项目,各种Undefined symbols for architecture xxx,精神差点崩溃了。不过最后还是解决了,本文简单总结一下
简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种:
build的时候没有加framework
比如说,有一段代码我用了OpenGL,引入了头文件
#import <OpenGLES/ES2/glext.h>
build的时候,compile阶段没有问题,但是link就报错Undefined symbols for architecture xxx(这里xxx可能是armv7s,armv7或者arm64,取决于配置,稍后会说)。解决方法是在Build Phases的Link Binary With Libraries里加入OpenGLES.framework,再编译就ok了