我正在尝试创建一个可以在其他 OCaml 项目中使用的库,但我完全迷失了。
我目前正在使用ocamlbuild
它非常适合吐出可执行文件,但我不知道如何从中获取库。
我发现了 -a 选项ocamlopt
,ocamlc
但我不确定如何使用它。我找到的文档(例如,here)似乎假设了一些预先存在的知识。我什至不知道 .a 文件是什么。在我运行之后,我需要哪些输出文件来构建一个依赖于这个库的项目?我是否需要 mli 文件以便应用程序知道库代码的签名,或者以某种方式包含在输出中?此外,能够将所有文件打包在一起会很好,类似于 Java 的 .jar 文件。
在任何情况下,我都愿意为ocamlbuild
我做这一切,因为如果我必须调用,ocamlopt -a
我将不得不手动指定依赖项或修改脚本ocamldep
——这ocamlbuild
是应该修复的。但是,我不知道如何告诉它建立一个库。
如果有必要,我愿意使用 oasis 或 OPAM 或其他东西,但我想先学习如何仅使用基本工具来做到这一点。