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

ocaml电池编译:未绑定模块Toploop,ocaml,ocaml-batteries,Ocaml,Ocaml Batteries,我在路径中找到了toploop.cmi: **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,st

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

**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.**
如你所见

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

toploop.cmi

我已将
/home/xxx/…
作为我的系统路径。但它仍然不起作用。我应该怎么做才能包含模块toploop?

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

电池的版本是1.4.1。该系统有两个OCaml版本,分别为3.09和4.00。3.09版本位于/usr/。。另一个是at/home/xxx/OCaml。我无权在/usr/上安装它。。。路径文件“libs/estring/pa_estring_top.ml”,第18行,字符15-44:。这里是pa_estring_top.ml代码:let=let parse=!Toploop.parse_toplevel_短语和Toploop.parse_toplevel_短语中的lexbufs=ref[]我刚刚意识到我可以自己编辑命令行,并使其运行而不是自动运行。谢谢。错误是正确的。但是还有一个问题等着我。非常感谢你的编辑。我是一朵鲜花。我将在以后的问题中注意格式。:)
export PATH=/home/xxx/OCaml/lib/ocaml/compiler-libs/:$PATH