【问题标题】:OCaml Unbound Graphics ModuleOCaml 未绑定图形模块
【发布时间】:2013-08-28 11:00:36
【问题描述】:

跑步

open Graphics;;

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

这是否意味着我的图形模块没有与 OCaml 包一起安装?如果是这样,我该如何安装模块?

在 Fedora 上。

【问题讨论】:

    标签: module ocaml


    【解决方案1】:

    这个错误在 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
    

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

    【讨论】:

    • 我带着这个确切的问题来到这里。这是一个非常完整的 IMO 答案,阅读起来很愉快。谢谢!
    • 不要将该路径添加到您的 PATH 变量中;请改用/usr/local/opt/ocaml/bin。此路径不会因 OCaml 升级而改变。
    • 这个答案在几分钟后搜索不成功后很好。它现在可以完美运行。
    • 我最近在 MacOS Sierra 10.12.6 上安装了 Ocaml 4.06.0 和 utop 2.0.2,但这(最初)不起作用。我相信,但不能证明,我的问题是我的 xquartz 已经过时了(并且不知何故不兼容)。我检查了brew doctor 并清理了一些问题(包括升级 xquartz),但我一开始没有重新启动。经过一番拉扯后,一篇文章提示我重新启动。然后,完全清理并重新安装 ocaml + opam + utop,open_graphics 正在工作。某人。
    • 此方法在 OSX 10.14.5 上失败,因为不再有选项 --with-x11,除了编译源代码还有其他选择吗?
    【解决方案2】:

    图形模块默认没有准备好。您需要手动加载它。在顶层:

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

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

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

    我不了解 Fedora,但如果上述方法失败,则说明您的环境中并未真正安装图形。

    【讨论】:

    • 它返回“找不到 graphics.cma”消息。我猜它没有安装 ocaml 包。有什么建议吗?
    • 那么我怀疑 Fedora 的 OCaml 二进制包中不包含图形模块。这实际上是一个问题:bugzilla.redhat.com/show_bug.cgi?id=468506 如果我是你,我会自己安装 OCaml,包括图形。
    • 感谢您的回答 - 在 Ubuntu 10 上一切正常,图形窗口已打开!
    猜你喜欢
    • 2016-01-16
    • 2020-04-18
    • 1970-01-01
    • 2013-09-19
    • 2020-07-24
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多