我使用ocamlbuild
通过mylib.mllib
文件编译OCaml库,该文件列出了构成库的模块。之后我想使用ocamlfind
安装库文件。与使用ocamlbuild
构建的二进制文件不同,所有库文件都位于_build
目录中。是使用
ocamlfind install META _build/a.cma _build/a.cmxa ...
或ocamlbuild
和ocamlfind
之间是否有更好的整合?特别是,我注意到-install-lib-dir
的{{1}}标记,但无法找到有关其目的的文档。
我知道ocamlbuild
,但现在想解决Makefile和oasis
目标中的问题。所有这些都是在使用install
库管理器的情况下进行的,但对于讨论来说无关紧要。
答案 0 :(得分:1)
不,没有具体的整合。 ocamlbuild
与预构建(配置)和构建后(安装)工具无关,ocamlfind
与构建工具同样不可知。
{J} ocamlbuild
不能很好地可靠地将_build/
的目标链接起来,这是正确的。这是一个众所周知的故障,但您可以随意report特定情况,这对您来说是一个问题。无论如何,我认为最好直接引用_build/
中的文件。
DanielBünzli有一个feature request让ocamlbuild帮助生成OPAM的.install
文件,而不是手工编写(或makefile脚本)。我个人没有时间研究这些功能,但我会热烈欢迎这方面的任何ocamlbuild贡献。