未绑定模块标准库
Unbound Module Stdlib
我正在尝试使用 ocamlc 构建代码,但是我遇到了错误
Error: Unbound module Stdlib
/usr/lib/ocaml/
目录包括以下内容
stdlib.a
stdlib.cma
stdlib.cxma
stdlib.p.a
stdlib.p.cxma
OCaml 版本:4.05.0
标准库最近从 Pervasives 重命名为 Stdlib。您的编译器来自更改之前;即,4.05.0 编译器有一个 Pervasives 模块,没有 Stdlib 模块。您尝试编译的代码很可能是更改后的代码。
通常没有理由提及标准库的名称,因为它“无处不在”。所以您可以尝试删除“Stdlib”。无论你在哪里看到它。或者您可以尝试将其重命名为“Pervasives”。
但是,如果代码比 4.05.0 编译器更新得多,您可能会遇到其他问题。
Stdlib
模块是在 4.07.0 中引入的。在此之前它被称为 Pervasives
。看来你在混装。
一些可能有助于解开它的命令:
which ocamlc
会告诉你编译器的位置。
ocamlc -config
将告诉您标准库的预期位置。
还强烈建议使用 OCaml 包管理器 opam
来管理 OCaml 安装,因为它允许您在多个安装之间切换,并让您在发布最新编译器后立即访问它。
我正在尝试使用 ocamlc 构建代码,但是我遇到了错误
Error: Unbound module Stdlib
/usr/lib/ocaml/
目录包括以下内容
stdlib.a
stdlib.cma
stdlib.cxma
stdlib.p.a
stdlib.p.cxma
OCaml 版本:4.05.0
标准库最近从 Pervasives 重命名为 Stdlib。您的编译器来自更改之前;即,4.05.0 编译器有一个 Pervasives 模块,没有 Stdlib 模块。您尝试编译的代码很可能是更改后的代码。
通常没有理由提及标准库的名称,因为它“无处不在”。所以您可以尝试删除“Stdlib”。无论你在哪里看到它。或者您可以尝试将其重命名为“Pervasives”。
但是,如果代码比 4.05.0 编译器更新得多,您可能会遇到其他问题。
Stdlib
模块是在 4.07.0 中引入的。在此之前它被称为 Pervasives
。看来你在混装。
一些可能有助于解开它的命令:
which ocamlc
会告诉你编译器的位置。ocamlc -config
将告诉您标准库的预期位置。
还强烈建议使用 OCaml 包管理器 opam
来管理 OCaml 安装,因为它允许您在多个安装之间切换,并让您在发布最新编译器后立即访问它。