使用 mGTK 需要什么编译器?支持哪些操作系统?
更新时间
mGTK 目前主要面向 Moscow ML 编译器,MLton 支持已在预发布版本 mgtk-pre-0.92 中加入。操作系统方面,mGTK 可运行于 Moscow ML 与 GTK+ 同时支持的平台,已知在 Linux 和 Windows 上可用。
编译器支持情况
| 编译器 | 支持状态 | 说明 |
|---|---|---|
| Moscow ML | 正式支持 | 官方说明中“目前仅支持 Moscow ML” |
| MLton | 预发布版本已加入 | mgtk-pre-0.92(2004 年 7 月 12 日发布)起提供;更早的 mgtk-pre-0.90 尚未包含 |
如果你使用 MLton,应选择 mgtk-pre-0.92 或更新版本,而不是 0.90 或更早的 beta/alpha 包。官方页面提到 MLton 支持“几乎就绪”,并建议需要细节时联系作者,因此用 MLton 时遇到问题可以直接发邮件询问。
操作系统支持
mGTK 本身是 GTK+ 的 SML 绑定(glue code),因此平台范围取决于两个前提同时成立:
- 该平台有可用的 Moscow ML(或对应版本的 MLton);
- 该平台有可用的 GTK+。
官方明确说明“已知可在 Linux 和 Windows 机器上运行”,Windows 移植由 Mike Thomas 完成,早期 beta 版本还提供过 Windows 二进制包。其他平台没有在页面上列出已验证记录,属于“理论上可行但未确认”的范围。
版本选择建议
- 只用 Moscow ML:任意版本均可,包括 mgtk-beta-0.03、mgtk-beta-0.02 等旧包;但新项目建议直接用最新的 mgtk-pre-0.92。
- 需要 MLton:必须使用 mgtk-pre-0.92。
- 需要 Windows 二进制:页面仅在 mgtk-beta-0.03 和 mgtk-beta-0.02 条目下标注了 Windows binary,预发布版未标注二进制包,可能需要自行从源码构建。
验证方式
下载后可按官方提供的 Hello World 程序做最小验证:初始化 GtkBasis.init、创建 Window 和 Button、连接信号、调用 GtkBasis.main()。如果程序能编译并弹出带按钮的窗口,说明编译器与 GTK+ 的衔接正常。页面也说明发行包内附带若干示例,可用来进一步确认。
常见卡点
- 编译器版本与 mGTK 版本不匹配:用 MLton 却下载了 0.90 或更早的包,会缺少 MLton 支持。
- 平台未验证:不在 Linux/Windows 上时,需要自行确认 Moscow ML 和 GTK+ 是否都能安装,官方没有给出其他平台的兼容性承诺。
- 预发布版缺少文档:官方明确提示 pre-release“没有提供太多指导”,遇到问题需联系作者。
- 许可证:当前为 LGPL,官方表示未来可能改为限制更少的许可证,但截至页面信息未变更。