Я тестирую и немного играю с flex перед тем, как начать использовать его для реального проекта, но у меня есть некоторые проблемы.
Я работаю на Android с помощью эмулятора Linux под названием Termux. Я установил Flex и Clang выполнения соответственно $ apt install flex
а также $ apt install clang
,
Я заметил, что если я пишу гибкий код для C, обработать его с $ flex filename
и затем скомпилируйте его с $ gcc -lfl lex.yy.c
, все компилируется и бинарный работает отлично.
Но если я пишу гибкий код для C ++ (т. Е. Используя только функции C ++), обработайте его с помощью $ flex -+ filename
и скомпилировать его с $ g++ -lfl lex.yy.cc
, во время компиляции выскакивает ошибка о том, что файл FlexLexer.h
включены как
#include <FlexLexer.h>
не был найден.
Почему это происходит только при использовании C ++? Поскольку я действительно нуждаюсь в этом для C ++, как я могу исправить эту проблему, имея в виду, что я работаю на Android с помощью эмулятора?
Это была ошибка в flex
пакет в Termux и теперь исправлен — запустите apt update && apt upgrade
чтобы получить обновленный пакет, который содержит FlexLexer.h
,
Других решений пока нет …