我想编译一个非常小的小插曲来看看lablgtk2是如何工作的。OCaml-Wodi第2部分:编译使用什么安装
(* 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 base lablgtk.cma gtkInit.cmo base.ml
我得到以下错误:
File "base.ml", line 4, characters 15-29: Error: Unbound module GWindow
什么是不正确的?为什么找不到GMain和GWindow模块?是否有一个替代命令行编译指令,我可以使用它会产生一个可执行文件(即Windows/Linux风格)?例如,有没有办法直接链接GMain和GWindow模块,以便编译器明白它们不会被解除绑定?
古怪的是,当我运行下面的命令,事情似乎工作,但只产生一个目标文件(即base.o,以及base.cmx,base.cmi):
$ ocamlfind opt -package lablgtk2 -linkpkg base.ml
如何将该对象转换为可执行文件?
真棒,这完美的作品。谢谢@rafix! – 9codeMan9 2013-04-28 19:51:50