【发布时间】:2011-11-30 07:09:10
【问题描述】:
本学期我将在大学上关于 Flex/Bison 的课程,但我在尝试让 Flex 工作时遇到了严重的问题。 (可能是由于我自己的无能,但我正在找到一个非常非常难以研究的解决方案)
我正在尝试使用命令提示符导航到包含 .l (Lex) 文件的文件,然后使用 Flex 生成 .yy 文件flex -ooutputfile.yy.c inputfile.l
我从http://gnuwin32.sourceforge.net/packages/flex.htm下载了windows版本的Flex
我检查以确保我有适当的 .dll(如安装说明中所述http://gnuwin32.sourceforge.net/install.html)
我通过 Dreamspark 下载了 Visual Studio 2008 并安装了它(从那时起我使用了 Visual Studio 2008 命令提示符)
我根据某人的建议安装了 Cygwin
我在注意到要求(这里提到的http://gnuwin32.sourceforge.net/install.html)列表“perl 等”后安装了 Perl。
每次尝试解决方案后,我都会继续收到消息'flex' is not recognized as an internal or external command, operable program or batch file.
我已经花了几个小时搜索,但我不知所措。我一直无法找到有关如何安装 Flex 或其要求/依赖项的任何全面说明...任何帮助将不胜感激!
- 我将 C:\Program Files\GnuWin32\bin 添加到 PATH 环境变量、系统变量中。我仍然遇到同样的错误。 (flex.exe所在的位置)
【问题讨论】:
-
打开命令窗口并输入
path;这将显示路径变量的内容。C:\Program Files\GnuWin32\bin在该列表中吗? -
恐怕还是不行。
-
好的,所以路径是正确的(我假设您已经检查过 flex.exe 实际上在该目录中)。现在输入
flex --version。如果还是不行,那就是文件损坏了,我试试重新安装。 -
我发现了问题! PATH 实际上是... C:\Ruby; C:\Flex 这意味着当我查找路径变量的内容时显示的路径,但实际上并没有工作,将其更改为(有效) - C:\Ruby;C:\Flex - 立即修复了问题!