lex.yy.c
é o nome do arquivo de saída padrão para lex
, o pré-processador do analisador léxico para C (e C ++). O linker ( ld
) está procurando por um arquivo chamado libfl.so
(se estiver vinculando dinamicamente; seria libfl.a
se estivesse vinculando estaticamente). Esta é a biblioteca de tempo de execução requerida pelos lexers gerados pelo Flex , uma implementação de lex.
Se você gerou lex.yy.c
com flex
, verifique se o Flex está instalado corretamente. Além de ter o executável flex
em seu caminho, você precisa ter libfl.so
e libfl.a
(e libfl_pic.a
se existir) no caminho de pesquisa da biblioteca (normalmente /usr/lib
ou /usr/local/lib
, dependendo do se o Flex veio de um pacote do sistema ou não). Se você tiver o Flex em um local não padrão, especifique o caminho de pesquisa da biblioteca com -L
:
~/software/flex/bin/flex mylexer.l
g++ lex.yy.c -L ~/software/flex/lib -lfl