【问题标题】:iOS project builds for armv6 when armv7 is specified (target is iOS 5.1)指定 armv7 时为 armv6 构建 iOS 项目(目标是 iOS 5.1)
【发布时间】:2012-07-25 12:45:46
【问题描述】:

我得到一长串错误,这些错误(对于我拥有的每个源文件)链接器错误到.o 文件(源于上述来源)。每个人的错误基本上都解决了这个问题:

CompiledSource.o, file was built for i386 which is not the architecture being linked (armv7)

除了问题实际上是警告,技术上。但是,在编译/链接阶段结束时,项目拒绝构建一个简单的Linker command failed with exit code 1 错误。

在过去的 2 个小时里,我一直在试图弄清楚这一点。

Targets->ProjectName->Architectures->Valid Architectures 中,我选择了 armv6 和 armv7。我还为 iOS 5.1 设置了构建目标。

在我的Targets->ProjectName->Build Phases->Copy Bundle Resources 中,我添加了所有资源(我假设这是添加图像和 nib/xib 文件等资源的位置)。

对此我能做些什么吗?我已经尝试清理项目,从 XCode 根目录中的 DataDerived 文件夹中删除所有文件,甚至清理 /var/folders。诚然,这个项目直到 2011 年才被触及。

我应该注意,我对 iOS 的东西(以及 Xcode)还很陌生。不幸的是,这个项目也在保密协议下,所以我不能透露太多信息。但是,如果有人有任何问题,我会尽力回答。

【问题讨论】:

    标签: ios architecture build compiler-errors arm


    【解决方案1】:

    您确定它是一个 iOS 应用程序吗?因为这听起来像是链接到为 i386(OSX-intel)构建的自定义框架,而这可能永远无法在 iOS 上运行。

    您是否尝试过产品->清洁?或 [alt] 产品->清理构建文件夹?

    也许看看苹果的一些示例代码,看看这些 iOS 项目是如何构建的。

    【讨论】:

    • 我很欣赏这个建议:我尝试了这两种方法都无济于事。至于 iOS 项目示例,我会研究它们,但我不敢相信它们可能会有所帮助,因为这个项目在一两年内还没有完成,而且大多数代码已经写好了。我尝试过开始一个新项目并将源代码复制到该项目中,但这只会让一切变得更糟......
    • 我也不是专业人士。但通常这些项目应该开箱即用,不会引发太多错误。
    • 我的架构设置 - 可能有帮助 --- 架构:标准(armv7) --- BaseSDK:最新(我的案例 ios6) --- 仅构建架构:否 --- 支持的平台:ios - -- 有效架构:armv7
    • 另一个建议:写下框架组文件夹中的框架.. 删除它们(参考!不是垃圾).. 转到目标->构建阶段->将二进制文件与库链接->在那里删除所有.. 然后(在与 libaries 块相同的链接二进制文件中)添加框架并确保它们是 iOS 5.1 .. 它们应该重新出现在左侧,您可以(如果需要)再次将它们移动到 frameworks-group-folder 中。 . 然后清理并构建
    • 谢谢n0oitaf,我一定会试一试的。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多