gpt4 book ai didi

ios - Xcode 5.1 - 没有可编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=x86_64,VALID_ARCHS=i386)

转载 作者:IT王子 更新时间:2023-10-29 07:26:32 27 4
gpt4 key购买 nike

更新到 Xcode 5.1 后,我无法再为 64 位模拟器构建我的项目,收到此错误:

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

这些是我的目标build设置:

Xcode target build settings

我尝试将“Build Active Architecture”更改为“No”,并将“i386”添加到“Valid Architectures”,不幸的是都没有用。感谢您的任何建议!

最佳答案

您只需将 ONLY_ACTIVE_ARCH 设置为 NO(至少对我有用)。下面是它的截图:


编辑:

据我所知(如果有不对的地方请指出,谢谢),如果你将ONLY_ACTIVE_ARCH设置为YES,它意味着 Xcode 只会为事件架构(指的是当前在 Xcode 中处于事件状态的设备)构建。似乎 Xcode 的默认设置是将 Debug 设置为 YES,因此当您只想为连接到 Mac 的特殊设备构建二进制文件时,它不会为其他架构构建二进制文件。

构建失败的原因可能是项目不支持您连接的设备的架构。 因此最好的解决方案是为您的设备添加正确的架构。下面是支持的架构和设备的列表:

  • ARMv8/ARM64:iPhone 6iPhone 5siPad AirRetina iPad Mini
  • ARMv7s:iPhone 5iPhone 5ciPad 4
  • ARMv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad Mini
  • ARMv6: iPhone, iPhone 3G, iPod 1G/2G

那么为什么“将ONLY_ACTIVE_ARCH设置为NO有效?因为设备仍然可以运行为您添加的所有体系结构构建的二进制文件(通过构建),但会损失一些性能。这只是一个快速的解决方案,但不是最好的。


注意:添加的架构越多,生成的二进制文件就越大。因此,最好为您的项目选择正确的架构。 ;)

关于ios - Xcode 5.1 - 没有可编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=x86_64,VALID_ARCHS=i386),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22328882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com