【发布时间】:2022-01-11 03:26:08
【问题描述】:
在很长一段时间没有使用 OCaml 之后,我正在尝试重新使用 OCaml 进行编程,并且由于我当前的计算机上没有 Linux,我一直在尝试通过 WSL(Windows 子系统Linux)。
在完成了我在 Linux 中所做的一切之后,每当我尝试使用 Graphics 模块编译一段代码时,我都会得到以下结果:
- 如果我尝试使用
open_graph命令,我会收到以下错误:
Exception: Graphics.Graphic_failure "Cannot open display ".
如果open_graph 的参数是一个空字符串,或者以空格开头,我会得到那个确切的错误。如果字符串参数不为空并且不以空格开头(根据我的阅读,无论如何都不应该使用空格),则错误消息包括如下所述的参数:
Exception: Graphics.Graphic_failure "Cannot open display [argument of open_graph]".
- 如果代码仅使用基本 OCaml 命令和不需要打开图形(如 rgb)的图形命令,则一切正常编译。
我发现this thread 用户提出了 DISPLAY 变量可能是“错误”的问题。该线程的原始发布者有一个不同的问题,但我觉得它是相关的,因为我在想也许使用 WSL 可能会使我的 DISPLAY 变量“关闭”,或者可能要求我为 DISPLAY 使用与我不同的值在完整的 Linux 操作系统上使用 - 但老实说,我不知道那会是什么。
我尽力理解我阅读的所有内容并清楚地解释我的问题,但我对 Linux 和一般编程的经验只有中等,所以如果我误解了某些内容或我的解释不是最清楚的,我很抱歉.遇到这种情况,请告诉我,我会尽力改正的。
干杯!
完整代码示例和准确错误信息:
#use "topfind";; #require "graphics";; Graphics.open_graph "";;
返回错误信息:
Exception: Graphics.Graphic_failure "Cannot open display ".
【问题讨论】:
标签: ocaml windows-subsystem-for-linux