【发布时间】:2016-03-04 21:21:33
【问题描述】:
我正在尝试从 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 的新手,我不知道还有什么可以尝试的。
【问题讨论】:
-
试试
ocamlfind ocamlopt -package cmdliner -o xencat xencat.ml。 -
理想情况下,您应该使用 opam 来安装它。这个包有几十个依赖项,在你构建这个文件之前应该满足这些依赖项。所以,首先你需要安装它们,大概是使用 opam
标签: ocaml ocamlbuild mirage