【发布时间】:2011-01-25 16:31:51
【问题描述】:
我真的很喜欢从 gcc 切换到 LLVM 编译器,但是我每次开始新项目时都必须手动切换,还是有什么方法可以让 LLVM 成为默认编译器?
我说的是 xcode 3。
谢谢。
【问题讨论】:
我真的很喜欢从 gcc 切换到 LLVM 编译器,但是我每次开始新项目时都必须手动切换,还是有什么方法可以让 LLVM 成为默认编译器?
我说的是 xcode 3。
谢谢。
【问题讨论】:
为此,您必须在 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% 适合向用户部署应用程序。
【讨论】:
我不相信有一个(简单的)方法可以做到这一点。 (即:这样的事情没有首选项窗格选项。)也就是说,现有Setting GCC 4.2 as the default compiler on Mac OS X Leopard 问题中的建议应该有效 @Jasariens 答案似乎很理想,如果每个项目的设置被证明令人厌烦.
但是,LLVM 还没有为黄金时间做好准备,所以我真的建议不要将它用于应用程序的最终部署等。(如果你'遇到任何奇怪的问题,切换回使用 GCC,它们很可能会消失。)
顺便说一句,虽然题外话,但Hidden Features of Xcode 问题中也有一些很棒的提示,因此可能值得浏览。 :-)
【讨论】:
对于所有未来的项目来说,最简单的方法(我认为也是最聪明的方法)是执行以下 5 个步骤:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iPhone Base.xctemplate(您可以在 Xcode 中简单地 Command + o(打开)然后 Command + Shift + G(转到文件夹),然后粘贴此路径)com.apple.compilers.llvm.clang.1_0 : http://grab.by/a0dV
您可以通过转到 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iPad Base.xctemplate 来为其他新项目执行相同的操作,例如 iPad 项目等。
就是这样。
祝大家有个愉快的一天。
【讨论】:
我写了一个simple script,它创建了一个具有健全默认值的全新 Xcode 项目。可能值得调整,这样您就不必手动设置每个新项目。
【讨论】:
所有答案都说明如何更改新项目的默认编译器值。
这是在 XCode 中为任何项目直接更改“iOS 默认”值的方法:
编辑文件(使用 sudo)
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSXXXX.sdk/SDKSettings.plist
重新启动 XCode 并完成!
【讨论】: