Hi, I am working on a bison parser and I get this error when compiling: Undefined symbols: "NFA::setFinal(int)", referenced from: doString(char, NFA&)in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::getFinals()", referenced from: doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o "NFA::addTransition(int, int, char)", referenced from: doString(char, NFA&)in ccVcU1O4.o doString(char, NFA&)in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::plus()", referenced from: yyparse() in ccVcU1O4.o "NFA::NFA()", referenced from: doString(char, NFA&)in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::setInitial(int)", referenced from: doString(char, NFA&)in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::addOptional()", referenced from: yyparse() in ccVcU1O4.o "yylex()", referenced from: yyparse() in ccVcU1O4.o "NFA::concatenate(NFA&)", referenced from: doString(char, NFA&)in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::one_of(NFA&)", referenced from: yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::addState()", referenced from: doString(char, NFA&)in ccVcU1O4.o doString(char, NFA&)in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o negarRang(NFA&) in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doElement(char, char)in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o doRepeticions(int*, NFA&) in ccVcU1O4.o yyparse() in ccVcU1O4.o yyparse() in ccVcU1O4.o "NFA::star()", referenced from: yyparse() in ccVcU1O4.o ld: symbol(s) not found collect2: ld returned 1 exit status
I don't think it's because of some include missing (I have all includes needed to read the functions). I compile the files like: bison -dvt p5.y flex -c++ -d p5.l g++ lex.yy.cc p5.tab.c -lfl -o main Could you help me? Thanks in advance -- View this message in context: http://old.nabble.com/Help-with-bison-errors-tp27848610p27848610.html Sent from the Gnu - Bison - Help mailing list archive at Nabble.com. _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison