2013-08-26 67 views
14

運行ocaml的未結合圖形模塊

open Graphics;; 
OCaml中

返回一個錯誤,稱這是一個未綁定的模塊。在終端(ocaml)中運行它會返回相同的結果。

這是否意味着我的圖形模塊某種程度上沒有安裝ocaml包?如果是這樣,我該如何安裝模塊?

在Fedora上。

回答

15

圖形模塊默認沒有準備好。您需要手動加載它。在頂層:

$ ocaml 
     OCaml version blahblah 
# #load "graphics.cma";; 
# open Graphics;; 

,或者你可以在命令行中指定:

$ ocaml graphics.cma 
     OCaml version blahblah 
# open Graphics;; 

我不知道Fedora的,但如果上述失敗,顯卡是不是真的安裝在您的環境。

+3

它返回一個「Can not find graphics.cma」消息。我猜測它沒有安裝ocaml軟件包。任何提示給我? – Secret

+1

然後我懷疑Fedora的OCaml二進制包中沒有包含圖形模塊。這實際上是一個問題:https://bugzilla.redhat.com/show_bug.cgi?id=468506如果我是你,我會自己安裝OCaml,包括圖形。 – camlspotter

+0

感謝您的回答 - 在Ubuntu 10上,所有的作品都不錯,圖形窗口打開! –

31

此錯誤在Mac OS X上也經常出現。使用Homebrew時,此模塊在安裝時默認爲禁用,因此brew install ocaml將不會安裝圖形模塊,可能是由於XQuartz依賴性。

如果您運行brew info ocaml,它會告訴您有一個標誌,即--with-x11,它將「使用圖形模塊安裝」。因此,要安裝/重新安裝ocaml的,你必須運行:

brew install Caskroom/cask/xquartz 
brew [re]install ocaml --with-x11 

最後記得要檢查的運行ocaml實例是一個在/usr/local/Cellar/objective-caml/x.yy.z[_w]/bin,如果它不是那麼前置一個網址給你PATH環境變量。另外請記住在安裝XQuartz之後重新啓動計算機。

+1

我來到這裏與這個確切的問題。這是一個非常完整的答案IMO和閱讀喜悅。謝謝! – jamescampbell

+0

不要在PATH變量前加上這個路徑;請改用'/ usr/local/opt/ocaml/bin'。 OCaml升級時此路徑不會更改。 – bfontaine

+0

幾分鐘後搜索不成功,這個答案很好。它現在工作完美無瑕。 – sharno