无法以 64 位模式 (arm64) 构建我的 XCode 项目

Posted

技术标签:

【中文标题】无法以 64 位模式 (arm64) 构建我的 XCode 项目【英文标题】:Unable to build my XCode project in 64-bit mode (arm64) 【发布时间】:2015-01-08 16:18:56 【问题描述】:

几个月以来,XCode 警告我们在 64 位模式下编译我们的 ios 项目。如前所述,我已经添加了这个架构。问题是我的项目中有一些库,例如SDWebImage 和FSImageViewer,它们在我构建项目时会产生错误。如前所述,我已经用 cocoapods 添加了这两个库,并且我拥有这两个库的最新版本。如前所述,我还在我的项目中添加了所有框架(MapKit、ImageIO)。

以下是构建错误:

我的项目配置(和Pods项目中的一样):

您知道如何避免这些烦人的错误吗?

非常感谢!

【问题讨论】:

您添加的库不是为 arm64 构建的。这些库只是为 armv7 和 armv7s 构建的。如果您项目这些库的文件,请也使用 arm64 构建。如果没有,请查找/请求 arm64 版本。代码已成功编译,但在链接过程中失败。找不到 64 位符号。 【参考方案1】:

问题是我的项目中有一些库,例如 SDWebImage 和 FSImageViewer,它们在构建项目时会产生错误

您已经回答了自己的问题。这些库需要为 32 位和 64 位构建。您不能在 64 位应用程序中包含 32 位库,反之亦然;该库需要包含您正在构建的所有架构的切片。

【讨论】:

另外,您没有为不同的构建配置使用不同的体系结构设置,是吗?这是一个很大的错误。你需要解决这个问题。 另外,您不应该在该列表中包含 armv7s。使用标准架构内置设置 - 它仅包含 armv7 和 arm64。 经过多次尝试,我重新安装了我的 pod 库,我注意到有一些警告,如这个问题中所述:***.com/q/18376416/1881895。在我修复它之后,现在我的项目就像一个魅力!

以上是关于无法以 64 位模式 (arm64) 构建我的 XCode 项目的主要内容,如果未能解决你的问题,请参考以下文章

无法为架构 arm64 和 x86_64 构建 opencv ios 框架

无法在 Google Play 商店中上传 64 位版本

Unity3D - 无法构建 64 位 Android

文件是为 arm64 构建的,它不是被链接的架构 (x86_64)

在 32 位 Xp 计算机上构建 64 位 Qt

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