Antworten:
lex.yy.cist der Standardname der Ausgabedatei für lexden Präprozessor des lexikalischen Analysators für C (und C ++). Der Linker ( ld) sucht nach einer aufgerufenen Datei libfl.so(bei dynamischer Verknüpfung; libfl.abei statischer Verknüpfung). Dies ist die Laufzeitbibliothek, die von Lexern benötigt wird, die von Flex , einer Lex-Implementierung, generiert wurden .
Wenn Sie lex.yy.cselbst mit generiert haben flex, überprüfen Sie , ob Flex korrekt installiert ist. Zusätzlich zu der flexausführbaren Datei in Ihrem Pfad müssen Sie libfl.sound libfl.a(und libfl_pic.afalls vorhanden) in Ihrem Bibliothekssuchpfad haben (normalerweise /usr/liboder /usr/local/lib, abhängig davon, ob Flex aus einem Systempaket stammt oder nicht). Wenn Sie Flex an einem nicht standardmäßigen Speicherort haben, geben Sie den Bibliothekssuchpfad an mit -L:
~/software/flex/bin/flex mylexer.l
g++ lex.yy.c -L ~/software/flex/lib -lfl