致命错误:FlexLexer.h:没有这样的文件或目录

时间:2014-09-10 06:34:00

标签: c++ windows flex-lexer

我创建了一个简单的Flex文件,用于从文件中读取和返回令牌。我使用命令 flex -c ++ scanner. 生成扫描程序文件。当尝试编译生成的lex.yy.cc文件时,我收到错误:

Fatal error: FlexLexer.h: No such file or directory

flex的include文件夹包含FlexLexer.h文件。我还尝试将文件复制到lex.yy.cc所在的同一文件夹中。仍然存在错误。

我使用的是Windows7。

我该如何解决这个问题。谢谢

1 个答案:

答案 0 :(得分:2)

生成的扫描程序使用以下行:

#include <FlexLexer.h>

表示将在系统包含目录中搜索FlexLexer.h文件。如果正确安装flex,安装应将FlexLexer.h文件放在某个系统包含目录中。如果您只是下载灵活源并在不安装的情况下进行编译,那将无效。它也可能在Windows环境中不起作用;我从未尝试过。

如果您没有其他选择,并且您正在使用gcc,则可以告诉gcc使用include源树中的flex目录作为系统使用命令行选项-isystem /path/to/flex/include包含目录。几乎可以肯定VS2010相当,但我不知道它是什么。