2016-06-15 139 views
0

我目前正在使用Oasis处理OCaml文件构建的项目。它效果很好。然而我很困惑什么findlibParent实际上是在库定义中做的。了解Oasis findlibParent的用途

的文档指定

FindlibParent:库,其包括当前库。目前的图书馆将作为其父母并沿着它安装。

我不明白什么暗示built as its parents已经在我指的东西的方式。这是否意味着如果我的模块库在定义中有findlibParent: X,并且模块的名称是Y,那么我将不得不引用它,如open X.Y

我很抱歉,如果这是显而易见的 - 措辞是非常混淆我。

谢谢!

+0

我不是Oasis的用户,但我想这是位模块层次结构,但finblib(ocamlfind)库层次结构。如果你有'findlibParent:x'并且当前库名为'y',那么当前将使用'ocamlfind install'通过'x'安装。结果,当前可用的ocamlfind包'x.y'。你可以通过'ocamlfind list'查看子包的例子,例如'compier-libs.bytecomp'。 – camlspotter

+0

上面的错字:它是位模块层次结构=>它不是模块层次结构 – camlspotter

回答

0

这意味着,一旦构建并安装了库,它将通过findlib作为parent_name.library_name访问。据我所知,这个领域并不意味着任何依赖,所以我不确定这句话“将作为它的父母建立”实际上是真的。唯一真正的含义是,它将被包含在父库的subpackage中,以便它不会拥有自己的META文件(如果要在同一文件夹中定义多个库,这可能非常有用)