接口(Ocaml)的假设不一致

时间:2012-02-06 20:04:29

标签: compiler-errors ocaml

我突然开始出现这个错误。我不知道如何诊断或修复它。我应该通过bar.ml进行grep并检查每个Big_int函数是否符合Big_int.mli中的签名?

File "foo.ml", line 1, characters 0-1:
Error: The files /home/bar.cmi
       and /usr/lib/ocaml/big_int.cmi make inconsistent assumptions
       over interface Big_int

2 个答案:

答案 0 :(得分:21)

通常,此消息表示最近重新编译了一个.mli文件,而不是另一个.mli文件。由于其中一个.mli文件位于您的OCaml库中,这可能意味着您已升级了OCaml安装,但从那时起就没有重新编译bar.mli。

如果你只是重新编译bar.mli会怎么样?

答案 1 :(得分:4)

rm bar.cmi然后再试一次;看起来它是针对不同版本的Big_int生成的。