OCamlbuild无法解析子目录依赖项

时间:2015-02-19 13:41:05

标签: ocaml ocamlbuild

我有一个OCaml项目,我遇到了一个奇怪的问题。

目录结构如下所示:

./tests
    test.ml
    templatetest.ml
./src
    template.ml
    ...
    andsoforth.ml

我正在构建它:

ocamlbuild -Is src,tests tests/test.native

关键点是,tests / test.ml取决于tests / templatetest.ml。

当我构建它时,我得到:

+ /usr/local/bin/ocamlc.opt -c -I tests -I src -o tests/test.cmo tests/test.ml
File "tests/test.ml", line 1, characters 0-17:
Error: Unbound module TemplateTest
Command exited with code 2.
Compilation unsuccessful after building 2 targets (0 cached) in 00:00:00.

我尝试在顶级目录中添加一个_tags文件,其中包含:

<src> or <tests>: include

仍然会产生同样的错误。 (我相信使用_tags文件的ocamlbuild tests / test.native与我之前使用的构建行完全相同。)

我还在./tests和./src中创建了一个空的_tags文件,但这也没有改变任何内容。

有什么建议吗?如果需要,整个来源为here。只需运行make test。谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个有趣的问题:不是TemplateTest而是Templatetest。对于以前的名称,模块文件应命名为templateTest.ml