(OCamlfind)构建具有Core依赖性的库

时间:2013-11-06 11:51:39

标签: ocaml ocamlbuild ocamlfind omake

我正在尝试构建一个依赖于Core和Core_extended的小型库。我按照Where to place a shared utility module in OCaml?下的说明操作并在ocamlfind中安装了库(在META文件中声明了对Core_extended和Core的依赖)。 在顶层使用它现在很好。

但是,当我尝试使用此库构建测试文件时,它不会自动检测到Core和Core_extend的依赖项。使用这些编译指令

  

ocamlfind ocamlopt -c -g -package my_lib -thread -o file.cmx file.ml

     

ocamlfind ocamlopt -g -linkpkg -package my_lib -thread file.cmx -o file.native

我收到以下错误:

  

错误:未提供以下模块的实现:

   Core referenced from /.../mylib.cmx

   Core_extended referenced from /.../mylib.cmx

如果我使用额外的参数“-package core_extended”编译文件然后编译,那么这是不切实际的。

有没有办法让这个依赖项对编译过程透明,这样“-package my_lib”会自动加载到Core和Core_extended中?

编辑: 这是我的META文件的内容:

name="my_lib"
description="small library"
version="0.1"
depends="core,core_extended"
archive(byte)="my_lib.cmo"
archive(native)="my_lib.cmx"

EDIT2:

在META文件中重命名“取决于”“需要”修复了这个!

1 个答案:

答案 0 :(得分:1)

您应该写requires而不是depends