【问题标题】:Difficulty setting up Flex (lexical analyser)难以设置 Flex(词法分析器)
【发布时间】:2011-10-03 16:35:10
【问题描述】:

我希望将 Flex 用于大学模块,但是在我的家用计算机上设置它时遇到了一些问题。

  • 我从http://gnuwin32.sourceforge.net/packages/flex.htm下载了安装文件

  • 我运行了安装程序

  • 然后我尝试从命令行使用 flex,方法是导航到包含 .l (Lex) 文件的目录并输入 flex -ooutputfile.yy.c inputfile.l(这导致消息“'flex' is not Recognized as an内部或外部命令,可运行的程序或批处理文件。”)

  • 我记得我的导师告诉我们使用 Visual Studio 2008 命令行,所以我从 Dreamspark 下载并安装了它。

  • 我尝试通过 Visual Studio 2008 命令行执行上述操作。产生了同样的信息。

  • 我查看了 http://gnuwin32.sourceforge.net/install.html 的安装和使用方法,发现它说您需要 msvcrt.dll(有时还需要 msvcp60.dll),并且这些文件位于 Windows\System 文件夹中。它还说,如果您有 Internet Explorer 4.0,这些将在那里。或更高版本的系统。这些 .dll 文件不存在。

您认为此错误的可能原因是缺少 .dll 文件,还是我缺少其他内容?

获取这些 .dll 文件的好方法是什么?

谢谢。

【问题讨论】:

  • 以上 .dll 文件位于 Windows\System32 文件夹中。 (所以,回到没有线索!)
  • 也许安装 Cygwin 然后在其中运行 flex(和 C/C++ 编译器)会更容易?

标签: visual-studio-2008 command-line flex-lexer


【解决方案1】:

消息

'flex' 不是内部或外部命令、可运行程序或批处理文件。

告诉你你的shell环境找不到flex。环境依赖其 PATH 变量来搜索要搜索的目录列表。你可以

  1. 使用完全限定的路径名​​来安装flex,即

    编辑

    c:\path\to\flexinstall\flex .exe -ooutputfile.yy.c inputfile.l

  2. 将 flex 安装路径添加到您的 Windows 路径。 ControlPanel->System-AdvancedSettings-SystemPropertiesDialogBox->EnvironmentVariablesButton.

我希望这会有所帮助。

【讨论】:

  • 非常感谢 - 我真的试过了 - 恐怕没有帮助!
  • 所以当您使用 flex.exe 每个 #1 的完全限定路径时,您仍然会得到“...不被识别为内部或外部命令...”?或者错误信息是否改变。如果完全相同的错误消息,那么它没有意义。找一位当地的大师来看看你的第二双眼睛。另外,flex 是命名为 flex 还是 flex.exe?您几乎可以肯定需要一个名为 flex.exe 的可执行文件,以便 Windows 将该文件作为程序启动。 (全部:现在是否在需要像 Unix 一样打开的较新版本的 Windows 上执行权限?(我不知道)?)祝你好运。
  • 我发现我的 PATH(在环境变量中)被设置为(有效地) C:\Ruby; C:\Flex ^ 注意最重要的空格!删除空间立即解决了问题。呸。谢谢你:)
猜你喜欢
  • 2016-04-01
  • 2014-12-11
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
相关资源
最近更新 更多