Xcode 5.1升级后链接错误的架构

时间:2014-03-12 00:36:04

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

我遇到这些错误:
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。可能是什么问题呢?

5 个答案:

答案 0 :(得分:4)

进行构建设置 - >架构

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

从Xcode 5.1开始,标准架构包含arm64,您尚未准备好支持它。

选择其他..

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

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

答案 1 :(得分:3)

我有一些类似的问题升级到Xcode 5.1。我通过首先更新CocoaPods来解决它们:

gem update cocoapods

然后更新项目中的pod:

pod update

在我的情况下,我的~/.cocoapods目录中存在一些损坏的内容,导致pod抛出错误。删除~/.cocoapods中的所有内容,然后再次运行pod update会让事情重新开始。

答案 2 :(得分:2)

我们遇到了同样的事情,问题是"标准体系结构"在"架构"曾经是armv7, armv7s,在Xcode 5.1 Apple改变了#34;标准体系结构"为armv7, armv7s, arm64所以现在你必须手动输入你自己的架构,而不是选择"标准"。

答案 3 :(得分:0)

在某个文本编辑器(例如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!

enter image description here

答案 4 :(得分:0)

就我而言,通过将_view更改为self.view来解决此问题。