我正在使用ocamlbuild
通过mylib.mllib
文件编译OCaml库,该文件列出了组成该库的模块。之后,我想使用ocamlfind
安装库文件。与使用ocamlbuild
构建的二进制文件不同,所有库文件都在_build
目录中。是使用类似的方法来安装它们的正确方法
ocamlfind install META _build/a.cma _build/a.cmxa ...
还是
ocamlbuild
和ocamlfind
之间有更好的集成?特别是,我注意到-install-lib-dir
的ocamlbuild
标志,但是找不到有关其用途的文档。我知道
oasis
,但是现在想解决Makefile和install
目标中的问题。所有这些都是在使用opam
库管理器的上下文中进行的,但对于讨论而言并不重要。 最佳答案
不,没有特定的集成。 ocamlbuild
与构建前(配置)工具和构建后(安装)工具无关,而ocamlfind
与构建工具类似。
您正确地认为ocamlbuild
不能很好地可靠地链接_build/
中的目标。这是一个已知的故障,但是您可以随意在report特定情况下遇到问题。无论如何,我认为最好直接引用_build/
中的文件。
DanielBünzli的feature request可以让ocamlbuild帮助生成OPAM的.install
文件,而不是手工编写(或制作文件脚本)。我个人没有时间来研究这些功能,但是我热烈欢迎这方面的ocamlbuild贡献。