我有以下问题: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项目,我将不胜感激。