【问题标题】:Xcode - OSX error: -fobjc-arc is not supported on platforms using the legacy runtimeXcode - OSX 错误:使用旧版运行时的平台不支持 -fobjc-arc
【发布时间】:2013-12-20 16:31:43
【问题描述】:

我正在使用 XCode 4.6.1 和 OSX 10.8.5。我试图编译一个项目,但得到了这个错误

错误:使用旧版运行时的平台不支持 -fobjc-arc 命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 失败,退出代码为 1

我尝试将其 OSX 部署目标从 10.9 解决为 10.8,但没有成功,然后也尝试了这个 Clang Error in XCode

但不工作。请任何想法或帮助表示赞赏。

【问题讨论】:

  • 如何为 iOS 应用设置 OS X 部署目标?
  • 在项目属性 -> 部署 -> OS X 部署目标
  • 您的项目似乎有问题。如果这是针对 iOS 应用程序,那么应该有一个 iOS 部署目标设置,而不是 OS X 部署目标。
  • 这不是 ios 应用程序。它是对象 c 命令行类。对不起,我忘了提
  • 那么您不应该使用 iOS 标签并在标题中提及“iOS 错误”... 对于 OS X,请确保您编译为 64 位,而不是 32 位。

标签: objective-c xcode macos


【解决方案1】:

ARC 仅适用于现代 RTE,即 OS X 上的 64 位。

【讨论】:

    【解决方案2】:

    如果您的项目被 Xcode 5 修改并且您返回 Xcode 4.6 并尝试构建,我认为您在构建时可能会遇到这样的错误,因为 Xcode 5 可以删除一些会在 Xcode 4.6 上导致意外结果的东西。但听起来这主要适用于 OS X 项目而不是 iOS 项目,所以我很困惑为什么 iOS 会发生这种情况。我建议尝试使用 Xcode 5 构建您的项目,看看是否能解决问题。

    如果您查看this,您会看到一个很长的解释,说明发生这种情况的原因。但基本上 Xcode 5 对某些编译器设置的“默认”设置与 Xcode 4.6 不同,并且 Xcode 5 有时建议删除某些设置,这使得 Xcode 4.6 的行为有所不同。

    一个好的解决方案是创建一个新项目并移动文件,因为听起来您的项目可能已经搞砸了(因为它显示了一个所谓的 iOS 项目的 OS X 选项)。如果您的项目处于源代码控制之下,并且您不想废弃当前的存储库和修订历史记录,您可以随时创建一个新项目并比较项目文件,看看它与干净的 Xcode 4.6 项目有什么不同。

    【讨论】:

    • 很抱歉不是 IOS 而是 OSX 。我错误地添加了 IOS.. 所以我需要下载 XCODE 5 并尝试一下?
    • 或者,如果您转到我在上面发布的那个链接,您会看到可能缺少 ARCHS 设置。所以也许你所要做的就是添加它。但是获得 Xcode 5 并没有什么坏处,因为使用最新发布的版本进行构建始终是最佳实践。无论如何,如果这些建议中的任何一个有帮助,请接受我的回答。
    • 感谢您的回答。让我检查一下。
    • 是的,我确实将架构从默认更改为 64 位并且它工作正常。谢谢
    【解决方案3】:

    我解决了这个问题如下:

    1. 关闭项目并退出 XCode
    2. 制作项目的备份副本
    3. ctrl+单击您的项目图标并选择“显示包内容”菜单项
    4. 将打开一个目录,其中包含文件 project.pbxproj。用文本编辑器打开文件 project.pbxproj
    5. 查找所有行

    CLANG_ENABLE_OBJC_ARC = 是;

    并将它们替换为

    CLANG_ENABLE_OBJC_ARC = 否;

    1. 保存项目.pbxproj

    (使用 Xcode v 6.1.1)

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多