如何让Xcode编译我的代码而不是编译Build AST?

时间:2012-05-23 02:46:44

标签: xcode clang

我刚刚将一个Framework项目从Xcode 3转换为Xcode 4.我已经在每个版本的Xcode和Project Builder下构建了这个项目多年。

出于某种原因,Xcode 4在我的所有类上运行Build AST而不是Compile,后者实际上并不构建框架可执行文件。在深入研究它时,我发现这会将-fsyntax-only标志传递给clang,后者告诉它在为每个类生成一个抽象语法树后停止。我有另一个在Xcode 4中构建良好的框架,我已经比较了构建设置,但没有发现任何看起来会导致这种情况的内容。

有没有人知道什么会让Xcode想要执行Build AST操作而不是编译?更重要的是,如何关闭这种行为?

感谢任何想法...

1 个答案:

答案 0 :(得分:1)

好的,我发现在我的情况下,我的项目中有'* .i'文件的自定义构建规则。 clang构建过程显然产生.i文件(以及其他几个)作为中间产品,因此该规则干扰并阻止它完成构建的所有阶段。删除自定义构建规则允许一切正常构建。