3

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

4

4 回答 4

2

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

于 2008-10-22T18:28:44.450 回答
1

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

我无法找到在 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 文件夹,我在做生意。

于 2009-03-13T01:01:37.757 回答
1

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

于 2010-05-08T00:03:45.050 回答
0

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

于 2008-11-10T09:57:00.330 回答