Automake / autoconf不适用于lex / yacc

时间:2012-04-22 22:28:12

标签: yacc lex autotools

我有以下问题:autoconf / automake:我为flex / yacc编写了几个生成的文件。我在configure.ac中添加了以下内容:

AC_PROG_YACC
AC_PROG_LEX

在Makefile.am中,我写了以下内容:

PARSER = parser.yy scanner.ll
AM_YFLAGS = -d

BUILT_SOURCES = parser.h

appname_SOURCES = analyze.cc (various other sources) \
  $(PARSER)

当我尝试编译时,每个对象都被创建得很好,但链接不起作用:

g++ (various libs) -o appname appname-analyze.o  (various other objects)
appname-scanner.o 
(yet more objects) appname-scanner.o (and still more objects)

因此,automake包含对象两次,这会完全搞砸构建并导致很多multiple definition错误。如果你能告诉我我做错了什么,或者向我展示一个成功处理lex / yacc文件的automake项目,我将不胜感激。

0 个答案:

没有答案