ocaml电池编译:未绑定模块Toploop

时间:2012-11-22 06:11:30

标签: ocaml ocaml-batteries

**Build mode: shared
ocamlbuild -no-links syntax.otarget byte.otarget src/batteries_help.cmo META shared.otarget

Finished, 0 targets (0 cached) in 00:00:00.

+ ocamlfind ocamlc -c -g -annot -warn-error A -package camomile,num,str -package camlp4.lib -pp camlp4of -pp camlp4of -I libs/estring -I benchsuite -I src -I testsuite -I build -I qtest -I libs -I src/syntax/pa_comprehension -I src/syntax/pa_strings -o libs/estring/pa_estring_top.cmo 
libs/estring/pa_estring_top.ml

File "libs/estring/pa_estring_top.ml", line 18, characters 15-44:

Error: Unbound module Toploop

Command exited with code 2.**


Compilation unsuccessful after building 6 targets (5 cached) in 00:00:00.**

我在路径中找到了toploop.cmi:

cd OCaml/lib/ocaml/compiler-libs/
ls topl*

toploop.cmi

如你所见,

export PATH=/home/xxx/OCaml/lib/ocaml/compiler-libs/:$PATH

我已将/home/xxx/...作为我的系统路径。但它仍然没有奏效。我该怎么做才能包含模块toploop?

1 个答案:

答案 0 :(得分:2)

您似乎正在使用OCaml 4.00编译电池(哪个版本?),它引入了新的compiler-libs目录(但有些发行版之前有一个发行版可能已关闭)。 toploop曾经是OCaml stdlib目录的根目录,但您现在应该在某处添加-I +compiler-libs选项,或者使用相应的ocamlfind包装(-package compiler-libs.toplevel)。