我正在使用 flex (词法分析器,而不是 Adobe Flex)在一个项目上。但是,我也希望能够在 Windows 平台上进行编译,但是 Windows version的最新版本只有 2.5.4a,所以它不会为 2.5.35 版本编译我的文件。不,我无法降级到受支持的最高 Windows 版本。
有谁知道升级 windows 版本的计划,或者有任何在 windows 上编译的建议?
最佳答案
您可以在邮件列表中提问,或者自己参与 Flex 项目。我认为 Flex 的代码库在一段时间内保持不变,但我不知道谁在维护 Windows 端口。在此期间...
我建议在您的项目中包含生成的源代码。
- 在 Linux 系统上生成词法分析器以生成 lex.c/lex.h 文件(或其他文件)
- 在构建之前将这些文件包含在您的 Win32 C 源代码中
如果您不能直接访问 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 或其他)。
需要进行一些调整,但这种便携性不适合您!
关于flex-lexer - 什么时候可以使用更新版本的 flex for windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148329/