Xcode 4.2 - 将派生文件添加到项目

4

我在我的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_FILES_DIR文件夹中。现在我需要将生成的头文件grammar.hpp与对象文件一起导出为库。
问题是Xcode不允许导出未包含在项目中的文件。
第一个解决方案似乎是创建一个组,将绝对路径设置为$DERIVED_FILES_DIR。好吧,这实际上可以工作,直到我将构建设置更改为构建发布配置,因为$DERIVED_FILES_DIR依赖于构建设置。 第二个解决方案是将组路径以字面变量的方式设置。
path = $DERIVED_FILES_DIR

到目前为止,我已经找到两种可能的方法来完成它:如何使用环境变量引用文件?在Xcode中相对于DERIVED_FILE_DIR引用文件。但这两种方法都对我无效。

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

2个回答

0

你最好的选择是:

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

这两个选项都有“相对于…”选项,应该可以让你将文件添加到项目中。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接