File "_none_", line 1: Error: Required module '<>' is unavailable

File "_none_", line 1: Error: Required module '<>' is unavailable

make文件已执行,各文件无bug报告。但是,在终端中,我收到:

File "_none_", line 1:
Error: Required module `Prettyprint' is unavailable

Prettyprint.ml 是我的文件之一。这个错误报告是什么意思?感谢您的帮助。

第一次编辑: 我的 makefile 看起来像:

@echo "# Lexer & Parser:"
ocamlc -g -c parser.mli lexer.ml parser.ml
@echo "# mainfile"
ocamlc -g -c TransitionalSemantics.ml
ocamlc -g -o main str.cma AbstractSyntax.cmo 
TransitionalSemantics.cmo Prettyprint.cmo StaticSemantics.cmo 
lexer.cmo parser.cmo

在我的终端中,错误报告开始于:

ocamlc -g -o main str.cma AbstractSyntax.cmo 
TransitionalSemantics.cmo Prettyprint.cmo StaticSemantics.cmo 
lexer.cmo parser.cmo
File "_none_", line 1:
Error: Required module `Prettyprint' is unavailable
make: *** [all] Error 2

你应该准确地展示你做了什么来得到这个错误。否则我们必须猜测:-)

File "_none_" 部分意味着您在顶层输入,因此本身没有文件。

Error 部分意味着顶层无法找到名为 Prettyprint 的模块。可能你需要在你做任何其他事情之前加载它:

# #load "prettyprint.cmo"

(这里的第一个 # 是顶级提示。第二个是您应该实际输入的内容。)

如果您扩展问题以包含更多详细信息,您可能会得到更有帮助的答案。

目标文件必须以与其依赖关系图兼容的顺序链接:如果您的模块之一依赖于 Prettyprint 模块,则它必须在 prettyprint.cmo 之后链接。

从 4.13 开始,错误消息更加翔实,看起来像

File "_none_", line 1:
Error: Wrong link order: B depends on A, B depends on A