警告:架构“armv7 armv7s”不包含所有必需的架构“arm64”

Posted

技术标签:

【中文标题】警告:架构“armv7 armv7s”不包含所有必需的架构“arm64”【英文标题】:Warning: architectures 'armv7 armv7s' didn't contain all required architectures 'arm64' 【发布时间】:2013-10-16 09:16:31 【问题描述】:

Xcode 项目中有警告:

crypto 被拒绝为“libcrypto.a”的隐式依赖项 因为它的架构“armv7 armv7s”没有包含所有必需的 架构 'arm64'sasl2 被拒绝为隐式依赖 “libsasl2.a”,因为它的架构“armv7 armv7s”不包含 所有必需的架构 'arm64'ssl 都被拒绝为隐式 “libssl.a”的依赖项,因为它的架构“armv7 armv7s” 不包含所有必需的架构“arm64”

我应该如何解决这个警告?

【问题讨论】:

尝试从您的项目构建设置中删除ARM64 架构。因为您使用的库不支持新的 ARM64 架构。 @rckoenes 它有效!您能否将您的评论作为答案,以便我接受? 【参考方案1】:

从您的项目构建设置中移除 ARM64 架构。因为您使用的库不支持新的 ARM64 架构。

【讨论】:

选择“标准架构”是否意味着该应用无法在新 iPhone 和 iPad 上运行? 不,新的 A7 处理器能够运行 32 位应用程序。其他哪些新设备不能运行旧应用,它们可以/。【参考方案2】:

删除 ARM64 不再是一种选择……

从 2015 年 2 月 1 日开始,提交到 App Store 的新 ios 应用必须包含 64 位支持并使用 iOS 8 SDK 构建。从 2015 年 6 月 1 日开始,应用程序更新也需要遵循相同的要求。要在您的项目中启用 64 位,我们建议使用“标准架构”的默认 Xcode 构建设置来构建具有 32 位和 64 位代码的单个二进制文件。

【讨论】:

【参考方案3】:

此设置对我有用。注意 Build Active Architecture Only 设置用于调试和发布

【讨论】:

【参考方案4】:

从架构中移除 $(ARCHS_STANDARD) 并用 armv7 替换它,armv7s 解决问题

【讨论】:

以上是关于警告:架构“armv7 armv7s”不包含所有必需的架构“arm64”的主要内容,如果未能解决你的问题,请参考以下文章

没有要编译的架构 (ARCHS=armv7,armv7s, VALID_ARCHS=armv7 armv7s)

没有要编译的架构 (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s)

arm64、armv7、armv7s是指啥?

Xcode - 5.0.2, iOS 检查依赖项 没有要编译的架构 (ARCHS=i386, VALID_ARCHS=armv7 armv7s)[iOS 静态代码分析 - Jenkins]

为 armv7、armv7s、arm64、i386 和通用构建 ffmpeg iOS 库

iOS armv7, armv7s, arm64区别与应用32位、64位配置