编译前Xcode 4自定义构建步骤

use*_*952 7 xcode build-rules

我正在尝试将一个工具集成到Xcode 4中,该工具从描述符文件生成C头.在Xcode 3中,它为具有特定扩展名的文件添加了自定义构建步骤.然后在包含它们的.m/.mm/.cpp文件之前编译这些文件.当我尝试使用Xcode 4执行此操作时,它似乎在编译其他源之后运行我的自定义步骤.这当然不起作用.有没有办法告诉Xcode以前的步骤?

这是一个简单的repro设置:

在此输入图像描述

我的main.m包含一个:

#include <mytest.h>
Run Code Online (Sandbox Code Playgroud)

我已添加${DERIVED_FILE_DIR}到标题搜索路径.当我编译这个项目时,我得到以下内容:

在此输入图像描述

如果我删除包含并再次构建它我得到这个:

在此输入图像描述

因此规则确实有效,但执行方式为时已晚.有没有办法改变这种行为?

Gor*_*ove 7

我已经拥有了Revival徽章,但是这里有:)

我刚遇到这个问题,答案很简单(现在我花了半天时间盯着它).

构建规则响应源文件(.abc),源文件按照"编译源"构建步骤中列出的顺序进行处理.只需进入构建规则并将.abc拖到列表顶部即可.

我希望,向我的考古学家徽章迈出一小步.


小智 3

无需添加构建规则:在“构建阶段”选项卡中,使用“添加构建阶段”按钮,选择“添加运行脚本”。将添加“运行脚本”阶段,您可以在其中实现脚本要求。可以将新的运行脚本阶段拖到编译源阶段之前,即您希望执行功能的阶段。