2

我接手了一个由主程序和库组成的ocaml项目,但库是独立构建的。到目前为止,使用“ocamlopt -I mylib.cmxa myprogram.ml”链接主程序是可能的——但是我在使用带有 ocamlopt 的 opam 库时遇到了问题,所以我决定改用“dune”。

我的问题是:如何使用 dune 与 ocaml 库链接,以便结果与上面的 ocamlopt 行相同?

4

1 回答 1

1

这将有助于查看您的项目的结构。但是,一般来说,如果您的项目结构如下:

root/
|—— dune-project
|—— lib/
|  |—— dune
|  |—— lib.ml
|
|—— bin/
|  |—— dune
|  |—— bin.ml

然后你的lib/dune会看起来像

(library
 (name        mylib)
 (public_name mylib)
 (libraries core async))

bin/dune会简单地在它的依赖项中列出这个库

(executable
 (name mybin)
 (libraries mylib))

如需进一步指导,请参阅存储库中的hello_world示例项目。dune

于 2019-02-15T15:43:46.753 回答