我想編譯一個非常小的小插曲來看看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