Ocaml未绑定图形模块

Sec*_*ret 19 ocaml module

运行

open Graphics;;
Run Code Online (Sandbox Code Playgroud)

在ocaml中返回一个错误,说它是一个未绑定的模块.在终端(ocaml)中运行它会返回相同的内容.

这是否意味着我的图形模块以某种方式未安装ocaml包?如果是这样,我该如何安装模块?

在Fedora上.

Sho*_*hoe 37

此错误也经常出现在Mac OS X上.对于Homebrew,此模块在安装时默认禁用,因此brew install ocaml不会安装Graphics模块,可能是由于XQuartz依赖性.

如果你运行brew info ocaml,它会告诉你有一个标志,即--with-x11"使用图形模块安装".所以要安装/重新安装ocaml,你必须运行:

brew install Caskroom/cask/xquartz
brew [re]install ocaml --with-x11
Run Code Online (Sandbox Code Playgroud)

最后请记住检查ocaml正在运行的实例是否正在运行/usr/local/Cellar/objective-caml/x.yy.z[_w]/bin,如果不是,则将该url添加到PATH环境变量中.还记得在安装XQuartz后重新启动计算机.

  • 我来到这里的确切问题。这是IMO的非常完整的答案,并且阅读起来很愉快。谢谢! (2认同)

cam*_*ter 20

默认情况下,图形模块未就绪.您需要手动加载它.在顶层:

$ ocaml
       OCaml version blahblah
# #load "graphics.cma";;
# open Graphics;;
Run Code Online (Sandbox Code Playgroud)

或者您可以在命令行中指定它:

$ ocaml graphics.cma
       OCaml version blahblah
# open Graphics;;
Run Code Online (Sandbox Code Playgroud)

我不知道Fedora,但如果上面的失败,你的环境中并没有真正安装图形.

  • 它返回"无法找到graphics.cma"消息.我猜它没有安装ocaml包.有什么提示吗? (4认同)