如何使用沙丘

时间:2019-02-15 11:33:18

标签: ocaml ocaml-dune

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

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

1 个答案:

答案 0 :(得分:0)

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

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))

有关更多指导,请查阅dune存储库中的hello_world example project