何时可以使用更新版本的flex for windows?

时间:2009-07-18 19:11:59

标签: flex-lexer gnuwin32

我在项目中使用flex(词法分析器,而不是Adobe Flex)。但是,我希望能够在Windows平台上进行编译,但Windows version的最新版本仅为2.5.4a,因此它不会为版本2.5.35编译我的文件。不,我不能降级到支持最高的Windows版本。

有人知道升级Windows版本的计划,或者建议在Windows上编译吗?

2 个答案:

答案 0 :(得分:4)

您可以在邮件列表中询问,或者自己参与参与。我认为Flex的代码库已经暂时保持静态,但我不知道是谁维护了Windows端口。在临时......

我建议您在项目中包括制作的来源

  1. 在Linux系统上生成词法分析器以生成lex.c / lex.h文件(或其他)
  2. 在构建之前在Win32 C源代码中包含这些文件
  3. 如果您无法直接访问Linux系统,则虚拟机可能是个好主意。 Flex源投诉构建在Windows上的某些C标准,但大多数POSIX差异可以更改为相当容易使用Win32 API。

    也许分发为:

    /src/source_files.c
    /src/lex.l
    /src/win32_lex/lex.c
    

    这样,带有现代flex的系统可以从lex文件生成源,编译源的Windows系统可以使用补充的预处理C文件。

    没有使用一些用户空间POSIX(Cygwin或其他)。

    需要进行一些调整,但不适合您

答案 1 :(得分:1)

存在flex 2.5.35 do 的Windows版本,但不幸的是它们不是自包含的。您可以下载MINGW构建here和Cygwin构建here;见also another stackoverflow question。每个构建都要求安装其各自的(MINGW或Cygwin)内核。