2015-11-02 71 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 

,我得到我想要的行爲。

相關問題