我正在做一个使用Yacc和Lex的项目。我正在使用Anjuta IDE来完成这项任务,但我在使用Autotools时遇到了问题。我不能构建我的源代码,因为我的文件需要Yacc生成的头文件。在编译过程的其余部分之前,我如何确保Yacc完成它的工作。
发布于 2011-07-28 03:23:27
您需要添加lex和yacc文件作为依赖项,因此make将使它们:
foo_SOURCES : foo_main.c foo.y foo.l或者类似的东西。更多细节将是有帮助的。
发布于 2011-08-01 21:03:28
如果您有一个由Yacc的-d选项生成的头文件,那么您应该在BUILT_SOURCES中列出它,以便在编译任何其他源文件之前构建它。
Makefile.am可能看起来像这样
BUILT_SOURCES = parser.h
AM_YFLAGS = -d
bin_PROGRAMS = foo
foo_SOURCES = ... parser.y ...(此示例是从the Automake manual逐字复制的。)
https://stackoverflow.com/questions/6849222
复制相似问题