我正在使用oasis构建我的ocaml项目,源代码出现在一个名为src的目录中。绿洲构建文件如下所示:
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将变得不可见,从而导致“unbound”错误。如果要手动调用ocamlc,可以添加-I src/util标志,使a.mli再次可见。
如何在不使文件成为完整库的情况下向oasis配置添加附加路径?
发布于 2015-02-04 19:42:14
使用oasis是不可能的,您需要修改您的_tags文件,但我不会建议您这样做。一般的方法是在绿洲文件中创建Library条目。这有助于保持项目结构的清洁。如果您不想用utils创建一个库,那么为什么要把它移到子文件夹中呢?
发布于 2015-02-04 19:20:08
您可以尝试将<src/utils>: include添加到您的_tags文件中(此文件是由oasis生成的,您不能对其进行任何编辑:在生成部分的范围之外进行编辑)。
这将直接告诉ocamlbuild在其参数中添加一个-I src/utils,我认为如果不创建库,就不可能告诉oasis自己这样做。
https://stackoverflow.com/questions/28329004
复制相似问题