【问题标题】:Use LLVM compiler by default for all Xcode projects?默认情况下对所有 Xcode 项目使用 LLVM 编译器?
【发布时间】:2011-01-25 16:31:51
【问题描述】:

我真的很喜欢从 gcc 切换到 LLVM 编译器,但是我每次开始新项目时都必须手动切换,还是有什么方法可以让 LLVM 成为默认编译器?

我说的是 xcode 3。

谢谢。

【问题讨论】:

    标签: iphone xcode llvm


    【解决方案1】:

    为此,您必须在 Developer 目录中修改项目模板。

    导航到您的模板所在的位置(可能类似于:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/

    进入后,您可以选择要修改的项目模板,并找到它的.xcodeproj 文件。您可以“显示包内容”,里面是project.pbxproj。您可以修改此文件并在构建设置中进行编辑以更改默认编译器。

    您必须找到与每个配置(调试、发布等)的构建设置相关的每个部分,搜索/* Begin XCBuildConfiguration section */

    然后您必须添加 GCC_VERSION 作为键和 com.apple.compilers.llvm.clang.1_0 作为值(根据 Xcode,在这种情况下,1_0 实际上是 LLVM 1.6。我还假设键名 GCC_VERSION 只有 GCC出于遗留原因,这可能会在未来更新为COMPILER_VERSION 或其他内容)。

    保存模板并创建一个新项目(如果 Xcode 已打开,您可能需要重新启动它)。编译器现在应该设置为 LLVM。

    但是,我不建议您这样做,因为 LLVM 仍然不能 100% 适合向用户部署应用程序。

    【讨论】:

    • 我必须承认,我在没有真正验证它是否有效的情况下将所有这些都写在了脑海中——但我只是对其进行了测试,它确实有效。 LLVM 1.6 现在在我的 xcode 模板中是默认的。我建议您看看 Zoul 的回答,因为他的脚本可以节省您编辑所有默认模板的时间。
    • 谢谢你,贾萨里恩。你拯救了我的一天。
    【解决方案2】:

    我不相信有一个(简单的)方法可以做到这一点。 (即:这样的事情没有首选项窗格选项。)也就是说,现有Setting GCC 4.2 as the default compiler on Mac OS X Leopard 问题中的建议应该有效 @Jasariens 答案似乎很理想,如果每个项目的设置被证明令人厌烦.

    但是,LLVM 还没有为黄金时间做好准备,所以我真的建议不要将它用于应用程序的最终部署等。(如果你'遇到任何奇怪的问题,切换回使用 GCC,它们很可能会消失。)

    顺便说一句,虽然题外话,但Hidden Features of Xcode 问题中也有一些很棒的提示,因此可能值得浏览。 :-)

    【讨论】:

    • 我们将 LLVM 用于多个应用程序,还没有遇到任何问题,需要详细说明吗?
    • @zoul 诸如stackoverflow.com/questions/3677879/… 之类的东西(当然还有很多,但暂时找不到,够烦人的)。可能很小,也就是说。
    【解决方案3】:

    对于所有未来的项目来说,最简单的方法(我认为也是最聪明的方法)是执行以下 5 个步骤:

    1. 转到/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iPhone Base.xctemplate(您可以在 Xcode 中简单地 Command + o(打开)然后 Command + Shift + G(转到文件夹),然后粘贴此路径)
    2. 在 Xcode 中打开文件 TemplateInfo.plist
    3. 转到 Project > SharedSettings > GCC_VERSION 属性并将其 String 值更改为 com.apple.compilers.llvm.clang.1_0 : http://grab.by/a0dV
    4. 保存文件
    5. 通过打开一个新的 iPhone 项目进行测试。

    您可以通过转到 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iPad Base.xctemplate 来为其他新项目执行相同的操作,例如 iPad 项目等。

    就是这样。

    祝大家有个愉快的一天。

    【讨论】:

      【解决方案4】:

      我写了一个simple script,它创建了一个具有健全默认值的全新 Xcode 项目。可能值得调整,这样您就不必手动设置每个新项目。

      【讨论】:

        【解决方案5】:

        所有答案都说明如何更改新项目的默认编译器值。

        这是在 XCode 中为任何项目直接更改“iOS 默认”值的方法

        编辑文件(使用 sudo)

        /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSXXXX.sdk/SDKSettings.plist
        

        重新启动 XCode 并完成!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-06-13
          • 1970-01-01
          • 2018-12-13
          • 2021-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多