首页 文章

用ocamlbuild构建库,用ocamlfind安装它 - 什么是最佳实践?

提问于
浏览
3

我正在使用 ocamlbuild 通过 mylib.mllib 文件编译OCaml库,该文件列出了包含库的模块 . 之后我想使用 ocamlfind 安装库文件 . 与使用 ocamlbuild 构建的二进制文件不同,所有库文件都在 _build 目录中 . 是使用类似的东西安装它们的正确方法

ocamlfind install META _build/a.cma _build/a.cmxa ...

ocamlbuildocamlfind 之间是否有更好的整合?特别是,我注意到 ocamlbuild-install-lib-dir 标志,但无法找到有关其用途的文档 .

我知道 oasis 但是现在想解决Makefile和 install 目标中的问题 . 所有这些都是在使用 opam 库管理器的上下文中,但它对于讨论无关紧要 .

1 回答

  • 1

    不,没有具体的整合 . ocamlbuild 与预构建(配置)和构建后(安装)工具无关, ocamlfind 与构建工具同样不可知 .

    你是正确的 ocamlbuild 不是很擅长从 _build/ 可靠地链接目标 . 这是一个众所周知的故障,但你应该随意report具体情况,这是一个问题 . 无论如何,我认为最好直接引用 _build/ 中的文件 .

    DanielBünzli有一个feature request让ocamlbuild帮助生成OPAM的 .install 文件,而不是手工编写(或makefile脚本) . 我个人没有时间研究这些功能,但我会热烈欢迎这方面的任何ocamlbuild贡献 .

相关问题