Domanda Problemi nella creazione di gcc 4.6: riferimento non definito a `yylex '


Sto cercando di creare gcc 4.6, ma sto ricevendo alcuni errori di linker che sembrano voler dire che bison o flex non sono collegati. Quando il makefile emette questo comando:

gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/gengtype \
        build/gengtype.o build/errors.o build/gengtype-lex.o build/gengtype-parse.o build/version.o ../../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a

Mi dice:

/home/chris/code/gcc/trunk/host-x86_64-unknown-linux-gnu/gcc/../.././gcc/gengtype.c:960: undefined reference to `lexer_line'
... undefined reference to `yylex'
... undefined reference to `yybegin'
... undefined reference to `yyend'

Ho installato Flex e Bison e ho persino provato diverse varianti di Bison con lo stesso risultato. Qualcuno sa cos'altro potrebbe significare?


30
2017-11-24 00:49


origine


risposte:


Lo stesso è successo a me, era dovuto alla mancanza di flex e bisonti. Dopo aver installato flex e bison, ho corso make distclean e ./configure, quindi ha compilato bene.


46
2018-01-29 19:01



È appena entrato in uno stato bizzarro da quando ho fatto ./configure e ho provato a crearlo prima di impostare correttamente bison e flex. Chiamare rendere pulito non era abbastanza. Ho cancellato il tutto e ho fatto un nuovo checkout e ora funziona bene.


2
2017-11-24 08:21



Mi sono imbattuto anche in questo, ma la soluzione per me era installare bisonc ++, per qualunque ragione avessi installato solo il bisonte.


2
2017-12-31 17:00