Мне интересно, как правильно скомпилировать программу с Makefile, в котором есть вызовы yyparse?
Это то чем я занимаюсь:
У меня есть Makefile, который компилирует все мои обычные файлы, и они не связаны с y.tab.c или lex.yy.c (они должны быть у меня?)
Я делаю это поверх моего кода:
#include "y.tab.c"
#include "lex.yy.c"
#include "y.tab.h"
Вот что происходит, когда я пытаюсь сделать программу:
Когда я просто набираю «сделать», появляется много предупреждений. Некоторые из примеров показаны ниже.
В функции 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.
Спасибо за вашу помощь!