【问题标题】:How do you compile flex in Visual Studio 2005/2008?如何在 Visual Studio 2005/2008 中编译 flex?
【发布时间】:2008-10-22 17:45:43
【问题描述】:

我想不通这个。我可以从 gnuwin32 下载 flex 2.5.4a 的 win32 二进制文件,但我想使用 Visual Studio 2005 构建最新版本(2.5.35)。我想我可以在 cygwin 中构建,但其中的乐趣在哪里?

【问题讨论】:

  • 如果你能详细说明你已经取得了多远,它可能会有所帮助。
  • 我放弃了。我喜欢构建自己的工具,但是如果不进行大量修改,则无法在 vs2005 中构建 flex。我可以在cygwin中构建它。如果有人找到了在 vs200x 中构建 flex 的秘诀,我很想知道它是什么。

标签: c visual-studio-2008 visual-studio-2005 flex-lexer


【解决方案1】:

请注意,在生成 C++ 扫描器时,Flex 在 Windows 上严重过时。能够生成 ISO C++ 扫描程序的最新 Flex 版本不支持 Win32(MinGW 或 VS),因此您最好尝试生成 C 扫描程序并从 C++ 调用它。

【讨论】:

    【解决方案2】:

    由于没有人对我的问题提供令人满意的答案,所以我在这里发布我的最终解决方案。

    我无法找到在 vs 2005 或 vs 2008 中构建 flex 的方法。相反,我正在使用与 cygwin 一起分发的 flex,它是最近才发布的。为了省去在每台需要使用 flex 的机器上安装 cygwin 的麻烦,我只保存了依赖项:cygwin1.dll 和 cygintl-8.dll。

    只有一个警告——cygwin 的 flex 也依赖于 m4,尽管你不会在依赖 walker 上看到它。它需要在路径中,这使得它很痛苦。你可以使用cygwin的m4.exe,但它也依赖于cygwin1.dll,它需要在m4执行的路径中。

    即便如此,我只是将所有这些文件检查到我的工具文件夹下的 svn 中,然后每当我需要在另一台机器上开发时,获取我的代码并使用 svn 进行调整,将 m4.exe 和 cygwin1.dll 复制到 windows \system32 文件夹,我在做生意。

    【讨论】:

      【解决方案3】:

      您还可以在sourceforge.net 下载 flex 2.5.35 的 MINGW(Minimalist GNU for Windows)版本。这个构建可能不是完全独立的;发行说明表明MSYS(最小系统)的某些组件是必需的。

      【讨论】:

        【解决方案4】:

        为什么您不想尝试 Boost 的 Spirit 框架?

        【讨论】:

          猜你喜欢
          • 2011-02-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-08
          • 1970-01-01
          • 1970-01-01
          • 2011-04-15
          • 1970-01-01
          相关资源
          最近更新 更多