我在一个项目中使用flex(词法分析器,而不是 Adobe Flex)。但是,我也希望能够在 Windows 平台上编译,但是Windows 版本的最新版本只有 2.5.4a,所以它不会为 2.5.35 版本编译我的文件。不,我无法降级到受支持的最高 Windows 版本。
任何人都知道升级 Windows 版本的计划,或者有关于在 Windows 上编译的建议吗?
我在一个项目中使用flex(词法分析器,而不是 Adobe Flex)。但是,我也希望能够在 Windows 平台上编译,但是Windows 版本的最新版本只有 2.5.4a,所以它不会为 2.5.35 版本编译我的文件。不,我无法降级到受支持的最高 Windows 版本。
任何人都知道升级 Windows 版本的计划,或者有关于在 Windows 上编译的建议吗?
您可以在邮件列表中询问,或者自己参与Flex 项目。我认为 Flex 的代码库已经有一段时间保持不变,但我不知道谁维护 Windows 端口。在过渡期...
我建议在您的项目中包含生成的源代码。
如果您无法直接访问 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 2.5.35 的 Windows 版本确实存在,但不幸的是它们不是自包含的。您可以在此处下载 MINGW 构建,并在此处下载Cygwin 构建;另请参阅另一个 stackoverflow 问题。每个构建都需要安装其各自的(MINGW 或 Cygwin)内核。