Jac*_*kzz 5 c++ windows flex-lexer
我创建了一个简单的 Flex 文件来读取并返回文件中的标记。我使用命令flex -c++scanner.l生成了扫描仪文件。当尝试编译生成的 lex.yy.cc 文件时,我收到以下错误:
Fatal error: FlexLexer.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
flex 的 include 文件夹包含 FlexLexer.h 文件。我还尝试将文件复制到 lex.yy.cc 所在的同一文件夹中。错误仍然存在。
我使用的是Windows7。
我怎么解决这个问题。谢谢
生成的扫描仪使用以下行:
#include <FlexLexer.h>
Run Code Online (Sandbox Code Playgroud)
这意味着FlexLexer.h将在系统包含目录中搜索该文件。如果你正确安装了flex,安装时应该将该FlexLexer.h文件放在某个系统包含目录中。如果你只是下载了flex源代码并编译它而不安装它,那是行不通的。而且它也可能无法在 Windows 环境中运行;我从来没有试过。
如果您没有其他选择,并且正在使用gcc,则可以gcc使用命令行选项将源树include中的目录用作系统包含目录。几乎可以肯定有一个 VS2010 的等效项,但我不知道它是什么。flex-isystem /path/to/flex/include