【问题标题】:xcode not building arm64/apple silicon universal dylibxcode 不构建 arm64/apple 硅通用 dy​​lib
【发布时间】:2021-02-06 14:51:18
【问题描述】:

我在 xcode 12.4 macOS catalina,Intel x64 机器上。有一个项目是 C/C++ 项目并输出一个 dylib。在 xcode 12.4 中,构建设置“架构”是 Apple Silicon & Intel。

仅构建活动架构是不行的。

dylib 构建良好,但是当我检查它是否是通用库或不使用 lipo 时,它会显示在 x64 而不是 arm。

【问题讨论】:

    标签: xcode macos apple-silicon


    【解决方案1】:

    我刚刚用类似的场景解决了我的问题,但有一个应用程序目标。我将一个 FCPX 项目(在 Xcode v10.* 上创建)复制到一个旨在支持“arm64”的新项目中,并且 x86_64'。由于我使用的是 *.xcconfig 设置,我没想到会出现任何问题 - 但是,果然,没有构建 arm64,因为 VALID_ARCHS 的“杂散”设置将目标限制为 x86_64。但是 Xcode 12.2 不再在 ui 中显示“有效架构”设置(这是我困惑的根源)。无论如何,我首先通过将 VALID_ARCHS 设置(包括 arm64)添加到 *.xcconfig 文件来解决我的问题。最终解决方案是编辑 project.pbxproj 文件,并丢弃 VALID_ARCHS 设置。

    【讨论】:

      【解决方案2】:

      我注册只是为了发布答案,因为我自己花了几个小时来解决同样的问题。 在“构建选项”下有一个“允许多平台构建”设置,应该打开。它对我有用,现在它编译了一个“胖”dylib。 令人困惑的是,对于捆绑软件,它会在关闭此设置的情况下编译通用二进制文件,但对于 dylib 则不然。

      【讨论】:

      • 我将添加Build Active Architecture Only 也应该设置为No
      猜你喜欢
      • 2021-02-24
      • 2014-05-12
      • 2021-09-17
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 2021-01-03
      • 2021-02-04
      相关资源
      最近更新 更多