一、问题

在网上查了很多关于Undefined symbol 的错误,静态库,路径都排查了没有问题。后来才看到关于Architecture的介绍,又弥补了自己的一片知识空白区域。
二、该属性的作用
该属性设置为yes,它只编译当前的architecture版本,编译速度更快。
而设置为no时,会编译所有的版本。
编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。
所以,一般debug的时候选择设置为yes,release的时候要改为no,以适应不同设备。
三、具体设置
Xcode->项目->target->Build Settings->Architectures->Build Active Architecture Only

PS
关于Undefined symbols for architecture armv7错误
本文探讨了Undefined symbols for architecture armv7错误的解决方法,分析了Architecture设置对编译速度及兼容性的影响。建议在debug时设置BuildActiveArchitectureOnly为yes以加快编译速度,在release时设置为no确保兼容所有设备。

3万+

被折叠的 条评论
为什么被折叠?



