OCaml:尝试打开图表时出错 - 'Exception: Graphics.Graphic_failure "Cannot open display ".'

OCaml: Error while trying to open a graph - 'Exception: Graphics.Graphic_failure "Cannot open display ".'

在很长一段时间没有使用 OCaml 之后,我正试图重新开始使用 OCaml 进行编程,并且由于我当前的计算机上没有 Linux,所以我一直在尝试这样做通过 WSL(Linux 的 Windows 子系统)。

按照我在 Linux 中所做的一切完成后,每当我尝试使用图形模块编译一段代码时,我都会得到以下结果:

Exception: Graphics.Graphic_failure "Cannot open display ".

如果 open_graph 的参数是一个空字符串,或者以 space 开头,我会得到确切的错误。如果字符串参数不为空并且不以 space 开头(根据我的阅读,无论如何都不应该使用),错误消息包括如下所述的参数:

Exception: Graphics.Graphic_failure "Cannot open display [argument of open_graph]".

我发现 用户提出了 DISPLAY 变量可能“错误”的问题。上述线程的原始发布者有一个不同的问题,但我觉得它是相关的,因为我在想也许使用 WSL 可以使我的 DISPLAY 变量“关闭”,或者可能需要我为 DISPLAY 使用与我想要的不同的值使用完整的 Linux OS - 但是,老实说,我不知道那会是什么。

我尽力理解我阅读的所有内容并清楚地解释我的问题,但我在 Linux 和一般编程方面只有中等经验,所以如果我误解了什么或者我的意思,我很抱歉解释不是最清楚的。那样的话,请告诉我,我会尽力改正。

干杯!


完整代码示例和准确的错误消息:

#use "topfind";; #require "graphics";; Graphics.open_graph "";;

返回错误信息:

Exception: Graphics.Graphic_failure "Cannot open display ".

根据https://github.com/ocaml/graphics/issues/21,您需要在您的 WSL 环境中安装 X11 服务器。