【问题标题】:Xcode 4.2 — add derived files to projectXcode 4.2 — 将派生文件添加到项目中
【发布时间】:2012-02-28 10:20:16
【问题描述】:

我在我的 Xcode 4 项目中使用野牛解析器生成器。我已经编写了用于从 *.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_FILES_DIR 文件夹中。现在我需要将生成的头文件grammar.hpp 与目标文件一起导出为库。

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

看起来,第一个解决方案是创建一个绝对路径设置为$DERIVED_FILES_DIR 的组。好吧,在我将构建设置更改为构建发布配置之前,它实际上是有效的,因为$DERIVED_FILES_DIR 取决于构建设置。 第二种解决方案是以某种方式将组路径设置为字面变量,即

path = $DERIVED_FILES_DIR

到目前为止,我已经找到了两种可能的方法:How to reference files with environment variables?File references relative to DERIVED_FILE_DIR in Xcode。无论哪种方式都不适合我。

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

【问题讨论】:

    标签: xcode xcode4 reference xcode4.2 auto-generate


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您最好的选择是:

      1. 在您的 SRCROOT 中生成文件
      2. 在 BUILT_PRODUCTS_DIR 中生成文件

      它们都有“相对于...”选项,应该允许您将文件添加到项目中。

      【讨论】:

        猜你喜欢
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-15
        • 2013-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多