【问题标题】:Architecture linking error after Xcode 5.1 upgradeXcode 5.1 升级后的架构链接错误
【发布时间】:2014-04-15 21:17:33
【问题描述】:

我遇到以下错误:
libGPUImage.a,文件是为存档而构建的,它不是被链接的架构 (armv7s),
libPods.a,文件是为存档而构建的,它不是被链接的架构 (armv7s)
还有更多...

这些是我的项目设置:
架构:armv7、armv7s、arm64
仅构建活动架构:否
有效架构;armv6 armv7 armv7s arm64 i386

除了下载带有 iOS 7.1 SDK 的最新 Xcode 5.1 之外,我没有进行任何更改。该项目适用于 Xcode 5.0 和 iOS 7.0 SDK。可能是什么问题呢?

【问题讨论】:

标签: objective-c xcode ios7.1 xcode5.1


【解决方案1】:

在我的情况下,通过将 _view 更改为 self.view 来修复它。

【讨论】:

    【解决方案2】:

    在一些文本编辑器(例如 SublimeText)中打开您的 ./Pods/Pods.xcodeproj/project.pbxproj 文件。通常在终端中使用以下命令(保留在我的项目目录中)st ./Pods/Pods.xcodeproj/project.pbxproj 并找到 ONLY_ACTIVE_ARCH = YES 并将其替换为 ONLY_ACTIVE_ARCH = NO。你也可以对你的{YOUR_PROJECT}.xcodeproj/project.pbxproj 做同样的事情。最后从 Xcode 清理并运行!

    【讨论】:

      【解决方案3】:

      必须构建设置 -> 架构

      您可能已经设置了标准架构,对吧?

      从 Xcode 5.1 开始,标准架构包括 arm64,您还没有准备好支持它。

      选择其他..

      双击 $(ARCHS_STANDARD) 并将其更改为 $(ARCHS_STANDARD_32_BIT)

      注意:这是一个临时修复。您可能正在使用一些没有 64 位切片的静态库。查看是否有可用的架构,然后将架构切换回标准架构。

      【讨论】:

        【解决方案4】:

        我在升级到 Xcode 5.1 时遇到了很多类似的问题。我通过首先更新 CocoaPods 解决了它们:

        gem update cocoapods

        然后更新我项目中的 pod:

        pod update

        就我而言,我的~/.cocoapods 目录中有一些损坏的东西导致pod 抛出错误。删除 ~/.cocoapods 中的所有内容,然后再次运行 pod update 让一切恢复正常。

        【讨论】:

        • 您是否手动从架构中删除了 arm64? Cocopods 似乎没有拉 64 位版本
        • 不,我所要做的就是更新 CocoaPods 本身和我正在使用的 pod,架构构建错误就消失了。
        【解决方案5】:

        我们也遇到了同样的事情,问题是“架构”下的“标准架构”曾经是 armv7, armv7s,在 Xcode 5.1 Apple 将“标准架构”更改为 armv7, armv7s, arm64 所以现在你必须手动输入您自己的架构,而不是选择“标准”。

        【讨论】:

        • 这很可能是 OP 的正确答案。 5.1 的标准架构现在包括arm64,而以前没有。 OP 可以从架构中删除 arm64 并添加之前的两个 32 位版本,或者最好找到链接库的 64 位版本。
        • 更改了设置以从架构中删除 arm64,但它什么也没做。 dropbox.com/s/h3dcod63hxmrgn4/…
        猜你喜欢
        • 1970-01-01
        • 2012-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-15
        • 1970-01-01
        • 2014-07-06
        • 1970-01-01
        相关资源
        最近更新 更多