我正在尝试编译一个非常小的小插图,以查看 lablgtk2 的工作原理。
(* file: base.ml *)
let main () =
let window = GWindow.window () in
window#show ();
GMain.Main.main ()
let _ = main ()
我通过 wodi32 包管理器正确安装了它,并检查了 pgk-lib 文件夹以查看是否有 gMain.cmx/cmi 和 gWindow.cmx/cmi 文件(以及相应的 .ml 和 .mli 文件)。但是,当我运行以下编译命令时:
$ ocamlc -I +lablgtk2 -o 基础 lablgtk.cma gtkInit.cmo base.ml
我收到以下错误:
文件“base.ml”,第 4 行,字符 15-29: 错误:未绑定的模块 GWindow
什么不正确?为什么找不到 GMain 和 GWindow 模块?有没有我可以使用的替代命令行编译指令来生成可执行文件(即 Windows/Linux 样式)?例如,有没有办法直接链接 GMain 和 GWindow 模块,以便编译器理解它们不是未绑定的?
奇怪的是,当我运行以下命令时,似乎一切正常,但只产生了一个目标文件(即 base.o,以及 base.cmx,base.cmi):
$ ocamlfind opt -package lablgtk2 -linkpkg base.ml
如何将该对象转换为可执行文件?