Xcode 4.2—;将派生文件添加到项目中

Xcode 4.2—;将派生文件添加到项目中,xcode,xcode4,reference,xcode4.2,auto-generate,Xcode,Xcode4,Reference,Xcode4.2,Auto Generate,我在我的Xcode 4项目中使用bison解析器生成器。我编写了自定义生成规则,用于从*.y语法文件生成C++源文件: /usr/local/bin/bison --defines="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.hpp" --output="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.cpp" --verbose "${INPUT_FILE_PATH}" 如您所见,Xcode将生成的文件放在$DERIVED

我在我的Xcode 4项目中使用bison解析器生成器。我编写了自定义生成规则,用于从*.y语法文件生成C++源文件:

/usr/local/bin/bison
--defines="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.hpp"
--output="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.cpp"
--verbose "${INPUT_FILE_PATH}"
如您所见,Xcode将生成的文件放在
$DERIVED\u files\u DIR
文件夹中。现在我需要导出生成的头文件
grammar.hpp
,并将目标文件作为库

问题是Xcode不允许导出项目中不包含的文件

第一种解决方案似乎是创建一个绝对路径设置为
$DERIVED\u FILES\u DIR
的组。实际上,在我将构建设置更改为构建版本配置之前,它是有效的,因为
$DERIVED\u FILES\u DIR
依赖于构建设置。 第二种解决方案是以某种方式将组路径设置为字面上的变量,即

path = $DERIVED_FILES_DIR
到目前为止,我已经找到了两种可能的方法:和。这两种方法都不适合我

也许有人知道将生成的文件添加到project的更好方法?

您最好的选择是:

  • 在您的根目录中生成文件
  • 在内置产品目录中生成文件

  • 这两个都有“相对…”选项,应该允许您将文件添加到项目中。

    我最终在
    ${SRCROOT}
    目录中生成了文件,并使用处理重新生成派生文件的
    Makefile
    自定义
    make
    生成目标。我刚刚将这些生成的文件添加到项目中,并使所有实际的构建目标都依赖于这个
    make
    目标