ocaml - 带有子目录的 Oasis 构建配置

标签 ocaml ocamlbuild

我正在使用 oasis 构建我的 ocaml 项目,源代码位于名为 src 的目录中。 oasis 构建文件如下所示:

OASISFormat: 0.4
Name:        Test
Version:     0.1
Synopsis:    no
Authors:     Me
License:     BSD-3-clause
Plugins:     META (0.4)

Executable abc
  Path:        src
  BuildTools:  ocamlbuild
  MainIs:      main.ml

现在我想将文件组织到子文件夹中,将 a.mli 和 a.ml 放入 src/util。执行此操作后,该模块对 ocamlbuild/ocamlc 变得不可见,从而导致“未绑定(bind)模块 A”错误。如果我要手动调用 ocamlc,我可以添加 -I src/util 标志以使 a.mli 再次可见。

如何在不使文件成为完整库的情况下将其他路径添加到 oasis 配置?

最佳答案

绿洲是不可能的,你需要修改你的_tags文件,但我不建议您这样做。一般的做法是创建Library oasis 文件中的条目。这有助于保持您的项目结构整洁。如果您不想从 utils 创建一个库,那么何必费心把它移到一个子文件夹中。

关于ocaml - 带有子目录的 Oasis 构建配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28329004/

相关文章:

OCamlbuild 和 camlp4.macro

windows - 奇怪的错误,我无法在 Windows 上构建 OCaml 程序

ocaml - 如何使用 Jane Street 的 Core with Reason?

ocaml - =和==的区别和nans的比较

javascript - 在 Mongoose 中定义变体类型

recursion - OCaml 中的递归仿函数

ocaml - 在 OCaml 中调用其他文件中的函数

ocaml - 让 ocamlbuild 忽略目录

ocaml - 如何编写用于记录的 PPX 重写器生成镜头?

ocaml - 如何将 OCaml 字节码映射到其原始源代码位置?