我有一个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
。谢谢!
答案 0 :(得分:1)
这是一个有趣的问题:不是TemplateTest
而是Templatetest
。对于以前的名称,模块文件应命名为templateTest.ml