yyparseの呼び出しを含むMakefileを使用してプログラムを正しくコンパイルする方法を知りたいですか?
これが私がすることです:
私はすべての通常のファイルをコンパイルするMakefileを持っていますが、それらはy.tab.cまたはlex.yy.cへの接続を持っていません(私はそれらを持っているはずですか?)
私は自分のコードに加えてこれを行います:
#include "y.tab.c"
#include "lex.yy.c"
#include "y.tab.h"
これは私がプログラムを作ろうとすると何が起こるかです:
「make」と入力するだけで、多くの警告が表示されます。いくつかの例を以下に示します。
関数yywrap':
/src/parser.y:12: multiple definition of
yywrap'server.o:/src/parser.y:12:最初にここで定義されたutils.o:
関数yyparse':
/src/y.tab.c:1175: multiple definition of
yyparse'でserver.o:/src/y.tab.c:1175:最初にここで定義されたutils.o
さまざまなyy_***ファイルを参照するとさまざまなエラーが発生します。過去にyyparseを複数回呼び出して正常にコンパイルしましたが、今回は違うようです。どこかの包含問題のようにひどいようですが、それが何であるかはわかりません。すべてのヘッダーファイルにもifndef条件があります。
ご協力いただきありがとうございます!