我想知道如何使用调用yyparse的Makefile正确编译程序?
这就是我做的:
我有我的编译所有的常规文件Makefile文件,他们必须y.tab.c的或不lex.yy.c中连接(我应该让他们?)
我在我的代码之上执行此操作:
#include "y.tab.c"
#include "lex.yy.c"
#include "y.tab.h"
Run Code Online (Sandbox Code Playgroud)
当我尝试制作程序时会发生这种情况:
当我输入"make"时,它会给我很多警告.一些例子如下所示.
在函数yywrap':
/src/parser.y:12: multiple definition ofyywrap'server.o:/src/parser.y:12:首先在这里定义utils.o:
在函数yyparse':
/src/y.tab.c:1175: multiple definition ofyyparse'server.o:/src/y.tab.c:1175:首先在这里定义utils.o
我得到许多不同的错误,指的是不同的yy _***文件.我已成功编译过去多次调用yyparse,但这次似乎有所不同.这似乎非常像一个包含问题,但我不知道它是什么.我的所有头文件都有ifndef条件.
谢谢你的帮助!