【问题标题】:Cannot install Flex (lexical analyser) on Windows, unable to find comprehensive instructions无法在 Windows 上安装 Flex(词法分析器),无法找到全面的说明
【发布时间】:2011-11-30 07:09:10
【问题描述】:

本学期我将在大学上关于 Flex/Bison 的课程,但我在尝试让 Flex 工作时遇到了严重的问题。 (可能是由于我自己的无能,但我正在找到一个非常非常难以研究的解决方案)

我正在尝试使用命令提示符导航到包含 .l (Lex) 文件的文件,然后使用 Flex 生成 .yy 文件flex -ooutputfile.yy.c inputfile.l

每次尝试解决方案后,我都会继续收到消息'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 - 立即修复了问题!

标签: command-line flex-lexer


【解决方案1】:

您收到的错误意味着flex.exe 不在您的PATH 环境变量中。您需要确定安装程序在哪里安装 flex 并将其添加到您的 PATH 或手动将其安装在您的 PATH 中的某个位置

【讨论】:

  • 谢谢!如何在我的 PATH 中添加一些东西?
  • (我找到了有关如何添加 PATH 变量 voidspace.org.uk/python/articles/command_line.shtml 的本教程 - 它指的是 Python,但是我对 flex.exe 做了同样的事情并将该目录添加到 PATH。它仍然可以不行!)
  • @ShimmerGeek:我做了完全相同的事情,但它真的不起作用。你做到了吗?
【解决方案2】:

http://sourceforge.net/projects/winflexbison/,您可以在没有任何外部依赖的情况下在 windows 下使用 flex&bison。根本不需要 GnuWin32、perl 或 Visual Studio。

【讨论】:

  • 另一个应用程序需要命令行中可用的 flex。如果我理解正确,那么在将安装文件夹添加到 PATH 后,我只会收到 win_flex 作为此安装的命令。是否有映射命令的选项?或者我应该将一个名为 flex.exe 的快捷方式放在同一个文件夹中,引用 win_flex.exe?
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-17
  • 2017-08-09
相关资源
最近更新 更多