0

繰り返しになりますが、私はプロジェクトに取り組んでおり、コードベース全体を構築するためOCamlに使用したいと考えています。Oasisこれが私のコードベースの編成方法です。

src/
    core/
      init.ml
      type.ml
      utils.ml
    plugin/
      main.ml

最初に、次の_oasisファイルを使用してライブラリのみをビルドします。

Library "engine"                                                       
Path: src/core                                                         
Modules:                                                               
  Init,                                                                
  Type,                                                                
  Utils                                                            
BuildDepends:   deriving, deriving.syntax, core, batteries             
XMETADescription: core engine

そして、それはうまくいきます。engine.aエラーはなく、_build/src/coreフォルダ内にライブラリを見つけることができます。

ただし、次の方法でライブラリを含めようとするとmain.ml:

Module T = Engine.Type
...

そして、次の_oasisファイルでコンパイルします。

Library "engine"                                                       
Path: src/core                                                         
Modules:                                                               
  Init,                                                                
  Type,                                                                
  Utils                                                            
BuildDepends:   deriving, deriving.syntax, core, batteries             
XMETADescription: core engine


Executable "main"                                                      
  Path:           src/plugin                                         
  MainIs:         main.ml                                              
  CompiledObject: best                                                   
  Install:        false                                                  
  BuildDepends:   core, batteries, engine

エラーが発生しました:

Unbound module Engine

私はここで何か悪いことをしていますか? 誰か助けてくれませんか?ありがとうございました!

4

1 に答える 1