默认情况下,对所有Xcode项目使用LLVM编译器?

时间:2011-01-25 16:31:51

标签: iphone xcode llvm

我非常喜欢从gcc切换到LLVM编译器,但每次启动新项目时都必须手动切换,还是有办法让LLVM成为默认编译器?

我在谈论xcode 3。

感谢。

5 个答案:

答案 0 :(得分:5)

要完成此任务,您必须在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。我还假设键名{{ 1}}由于遗留原因,其中仅包含GCC,这可能会更新为GCC_VERSION或将来更新。

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

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

答案 1 :(得分:1)

我不相信有这么简单的方法。 (即:这样的事情没有偏好窗格选项。)也就是说,中现有Setting GCC 4.2 as the default compiler on Mac OS X Leopard问题的建议应该有效 @Jasariens答案似乎是理想的,如果每个项目的设置是证明很无聊。

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

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

答案 2 :(得分:1)

为所有未来的项目做最简单的方法(我认为最聪明)是做以下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. 转到项目> SharedSettings> GCC_VERSION属性并将其String值更改为com.apple.compilers.llvm.clang.1_0http://grab.by/a0dV
  4. 保存文件
  5. 通过打开一个新的iPhone项目进行测试。
  6. 例如,您可以通过/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iPad Base.xctemplate来获取iPad项目等,为其他新项目做同样的事情。

    就是这样。

    每个人都过得愉快。

答案 3 :(得分:0)

我写了一个simple script来创建一个新的Xcode项目,其中包含纯正的默认值。可能值得进行调整,这样您就不必手动设置每个新项目。

答案 4 :(得分:0)

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

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

编辑文件(使用sudo)

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

重启XCode并完成!