1

我正在尝试使用 ocamldoc 记录我的一个小项目。
我有一个主.ml文件和opens另外两个.ml文件。

$ ocamldoc -html included1.ml included2.ml

工作得很好,但是当我添加包含文件时,比如

$ ocamldoc -html included1.ml included2.ml including.ml

我明白了:

File "including.ml", line 5, characters 5-16:
Error: Unbound module Included1
1 error(s) encountered  

我从ocamldoc 文档中看到打开模块非常好,直到没有发生冲突。
我应该如何进行?

4

1 回答 1

2

一个模块可以使用其他模块,但是它需要能够看到这些模块的编译接口。因此,在您的情况下,您首先需要编译.ml文件以生成.cmi文件。然后你需要向 ocamldoc 指明这些文件在哪里。所以这样的事情应该做:

ocamlc -c included1.ml
ocamlc -c included2.ml
ocamlc -c -I . including.ml
ocamldoc -html -I . included1.ml included2.ml including.ml

请注意,一般来说,.mli为每个模块创建文件和ocamldoc这些文件而不是.ml文件是一种很好的(必要的)做法。

于 2016-10-07T16:16:41.637 回答