4

私は oasis を使用して ocaml プロジェクトをビルドしています。ソース コードは src というディレクトリにあります。オアシス ビルド ファイルは次のようになります。

OASISFormat: 0.4
Name:        Test
Version:     0.1
Synopsis:    no
Authors:     Me
License:     BSD-3-clause
Plugins:     META (0.4)

Executable abc
  Path:        src
  BuildTools:  ocamlbuild
  MainIs:      main.ml

次に、ファイルをサブフォルダーに整理し、a.mli と a.ml を src/util に配置します。これを行った後、モジュールは ocamlbuild/ocamlc から見えなくなり、'unbound module A' エラーが発生します。手動で ocamlc を呼び出す場合は、-I src/util フラグを追加して、a.mli を再び表示できるようにします。

ファイルを完全なライブラリにせずに、追加のパスを oasis 構成に追加するにはどうすればよいですか?

4

2 に答える 2

5

オアシスでは不可能です。ファイルを変更する必要がありますが_tags、これを行うことはお勧めしません。一般的なアプローチはLibrary、oasis ファイルにエントリを作成することです。これにより、プロジェクト構造をきれいに保つことができます。また、utils からライブラリを作成したくない場合は、わざわざサブフォルダーに移動する必要はありません。

于 2015-02-04T19:42:14.060 に答える
3

ファイルに追加<src/utils>: includeしてみてください_tags(このファイルは oasis によって生成されたものです。編集することはできません。生成された部分の範囲外で行ってください。

これは、引数に -I src/utils を追加するように ocamlbuild に直接指示します。ライブラリを作成せずに、oasis にこれを自分で行うように指示することはできないと思います。

于 2015-02-04T19:20:08.413 に答える