为什么我不能在OCaml代码中使用Why3 API?

为什么我不能在OCaml代码中使用Why3 API?,ocaml,why3,Ocaml,Why3,我下载了Why3 tarball,并按照Why3 API文档中给出的make和make安装库进行安装。但当我打开Why3时,ocamlc和utop仍然会抱怨未绑定模块Why3 有人能帮助我如何使用OCaml代码中的API吗 我遵照这里的指示 您需要告诉编译器在哪里查找why3及其依赖项。假设您在目录中安装了所有内容: ocamlc -I DIR/num -I DIR/zip -I DIR/menhirLib -I DIR/why3 \ unix.cma str.cma dynlink.cma

我下载了Why3 tarball,并按照Why3 API文档中给出的make和make安装库进行安装。但当我打开Why3时,ocamlc和utop仍然会抱怨未绑定模块Why3

有人能帮助我如何使用OCaml代码中的API吗

我遵照这里的指示


您需要告诉编译器在哪里查找why3及其依赖项。假设您在目录中安装了所有内容:

ocamlc -I DIR/num -I DIR/zip -I DIR/menhirLib -I DIR/why3 \
 unix.cma str.cma dynlink.cma nums.cma zip.cma menhirLib.cmo why3.cma \
 yourfile.ml
或者,如果您有ocamlfind,我建议您使用支持ocamlfind的构建系统,或者更好地使用支持ocamlfind的构建系统

ocamlfind ocamlc -package why3 \
 unix.cma str.cma dynlink.cma nums.cma zip.cma menhirLib.cmo why3.cma \
 yourfile.ml

你到底键入了哪个编译命令?@ghilesZ补充了这个问题。实际上我指的是你键入openwhy3的文件。如何编译它?要么使用ocamlc,要么我在utop中编写open Why3。@ghilesZ ocamlc k.ml,其中k.ml有open Why3,现在我得到了对未定义的全局Why3'`的错误引用。我想这是因为它找不到为什么编译模块要链接。“我该怎么解决呢?”阿披实库玛编辑。这应该能奏效。请注意,使用jbuilder或oasis之类的构建工具可以解决您的问题。
ocamlfind ocamlc -package why3 \
 unix.cma str.cma dynlink.cma nums.cma zip.cma menhirLib.cmo why3.cma \
 yourfile.ml