我有一个 C 项目,其中包括一个 flex 和一个 bison 源文件; flex 文件#includes bison 生成的 tab.h 文件。
所以我已将 AC_PROG_LEX 和 AC_PROG_YACC 添加到我的configure.ac 文件中。但是在我运行 autotools 并尝试创建项目之后,在运行 bison 来生成由 flex #included 的 tab.h 文件之前,编译了 flex 生成的 .c 文件。 .c 文件。因此编译失败。
我是一个autotools(和stackoverflow!)新手 - 我需要让autotools意识到flex .o对bison .tab.h的依赖吗?如果是这样,该依赖项会去哪里 - 在包含项目 SOURCES 列表的 Makefile.am 中?
TIA 约翰
最佳答案
您需要告诉 automake 头文件是要构建的,而不是您已经提供的。将其放入 Makefile.am 中:
BUILT_SOURCES = tab.h
关于bison - 带有 bison 和 flex 源的 autotools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14457272/