我在我的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引用文件。但这两种方法都对我无效。
也许有人知道更好的方法来将生成的文件添加到项目中吗?