尽管ocamlfind看到了所需的模块,但是ocamlopt和ocamlbuild给出了一个Unbound模块错误

时间:2016-03-04 21:21:33

标签: ocaml ocamlbuild mirage

我正在尝试从this project构建xencat工具。当我尝试使用ocamlopt构建它时,我得到了

$ ocamlopt -o xencat xencat.ml 
File "xencat.ml", line 1, characters 5-13:
Error: Unbound module Cmdliner

按照指导here,我确认已安装cmdliner并且ocamlfind可以看到它,然后再次尝试:

以下是ocamlfind list显示的内容:

$ ocamlfind list
bigarray            (version: [distributed with Ocaml])
bytes               (version: [distributed with OCaml 4.02 or above])
...
cmdliner            (version: 0.9.8)
...

没有运气:

$ ocamlfind ocamlopt -o xencat xencat.ml
File "xencat.ml", line 1, characters 5-13:
Error: Unbound module Cmdliner

在此页面之后,我尝试了ocamlbuild:

$ocamlbuild -use-ocamlfind xencat.byte
+ ocamlfind ocamlc -c -o xencat.cmo xencat.ml
File "xencat.ml", line 1, characters 5-13:
Error: Unbound module Cmdliner
Command exited with code 2.

显然我错过了一些东西,但是对Ocaml不熟悉,我不知道还有什么可以尝试。

2 个答案:

答案 0 :(得分:2)

class Test{ public static void main(String[] args) { Test t = new Test(); System.out.println(t.CountWord("the","test.txt")); } public int CountWord(String word, String textFilePath){ } }

答案 1 :(得分:1)

要构建此项目,请在项目的根目录中使用以下命令:

./configure
make build

您将在根文件夹中找到xencat.native文件。

您也可以使用opam来构建它,因为opam将处理您的所有依赖项。只需转到项目的根目录并说:

opam pin add vchan .

并对opam要求做的事情回答是。