2012-07-09 17 views
1

考虑下面的源文件找到模块代码检查器,但它c尽管有-I标志,但不会绑定从.mli文件引用的模块。它解决了.ml文件的绑定问题。OCaml的吉祥物无法从.mli文件

​​
File "/tmp/src/A.mli", line 2, characters 8-11:
Error: Unbound module B
loading configuration files...
configuring checks...
analyzing dependencies...
running checks...
reporting to "/tmp/out" with output "html"...

它解决了.ml文件的绑定问题。

$ mascot.native -config mascot.cfg -I /tmp/src /tmp/src/{A,B}.ml -html /tmp/out 
loading configuration files... 
configuring checks... 
analyzing dependencies... 
running checks... 
reporting to "/tmp/out" with output "html"... 

我无法找到这说明了什么manual文件对分析但我相信吉祥物是应该在接口文件运行,因为examples页面包含的文档问题的例子:

(** Module descriptoion. *) 

type t 
(* This one is not actually documented 
    (bare comment instead of ocamldoc one). *) 

和接口检查似乎并没有运行,当我只提供源文件。

回答

1

我打的是同样的问题,可以使吉祥物查找模块B只有通过编译具有当前目录B.cmi它的接口文件,例如:

cd /tmp/src 
ocamlc B.mli 
mascot.native -config mascot.cfg {A,B}.{ml,mli} -html /tmp/out.html 

似乎没有命令 - 用于告诉吉祥物在哪里寻找.mli/.cmi文件;正如问题中所述,-I标志对此不起作用。

+0

因此,如果我使用'ocamlbuild',那么我应该从'_build'目录运行吉祥物? – 2012-10-26 12:09:22

+0

当然。顺便说一句,我认为这是吉祥物的局限性。 – Mander 2012-10-28 22:42:00