9.4 Common errors

このセクションではよく見るエラーメッセージについて解説します。

Cannot find file '''filename'''

ファイルがカレントディレクトリからも、検索パスのディレクトリからも見つかりません。

'''filename'''が'''mod.cmi'''というフォーマットだったら、コンパイルユニット'''mod'''を参照したが、そのコンパイル済みインターフェイスが見つからなかったということです。対策として、まず'''mod.mli'''か'''mod.ml'''をコンパイルして、コンパイル済みインターフェイス'''mod.cmi'''を作成してください。

'''filename''' が'''mod.cmo'''というフォーマットだったら、#load でバイトコードオブジェクトファイルをロードしようとしたが、そのファイルがなかったということです。対策として'''mod.ml'''をコンパイルしてください。

プログラムが複数のディレクトリにまたがる場合は、そのディレクトリを検索するように指定していないのかもしれません。対策として、#directory 指示語を使って検索パスにディレクトリを適切に追加してください。

This expression has type t1, but is used with type t2

セクション 8.4 を見てください。

Reference to undefined global mod

#load でモジュールの実装をメモリにロードし忘れています。上記のセクション 9.3 を見てください