2015-11-02 42 views
0

我有两个OCaml模块,即nhc.ml和test.ml.这两个模块都引用parser.mly,scanner.mll和ast.mli。如何链接两个自定义OCaml模块与`corebuild`

目标是有一个可执行文件,即nhc.native,我仍然可以引用test.ml的功能。

./nhc.native fun_from_test 

分隔两个模块单独工作:

corebuild nhc.native 
corebuild test.native 

但是当我尝试使用corebuild两个链接如下:

corebuild nhc.native -mod test 

我得到的错误:

Error: No implementations provided for the following modules: 
    Scanner referenced from test.cmx 
    Parser referenced from test.cmx 

如果我运行相同的命令,而无需首先mkaing测试可执行文件(test.native),我收到以下错误:

File "_none_", line 1: 
Error: Cannot find file test.cmx 

我怎样才能获得指定的功能?

回答

0

我不确定是否有办法在编译器中执行以下操作。但另一种解决方案是只要打开模块内部nhc.ml如下:

open Test 

,我得到我想要的行为。