Где разместить общий служебный модуль в OCaml?

У меня есть файл Tools.ml , который содержит некоторые общие служебные функции, которые я написал сам. В разделе ... / Code / у меня есть несколько папок, каждая из которых содержит проект. У меня вопрос, где мне разместить этот Tools.ml , чтобы все папки и файлы в ... / Code / могли использовать этот модуль с помощью Open Tools .

Надеюсь, мой вопрос ясен ... Есть ли у кого-нибудь хорошее решение?

Edit1: После ответа @gasche я написал tools.ml следующим образом:

module Tools =
  struct
    let a_function = ...
    ...
  end

Тогда Я скомпилировал его и выполнил ocamlfind install tools META tools.cmo tools.cmx tools.ml , как было предложено, что выглядит неплохо. Затем я написал test.ml следующим образом:

open Tools

let f = Tools.a_function

затем я скомпилировал его с помощью ocamlc test.ml -o test , затем я получил ошибку:

File "test.ml", line 1, characters 0-1:
Error: Error while linking test.cmo:
Reference to undefined global `Tools'

Кто-нибудь может сказать что случилось со мной?

12
задан SoftTimur 2 January 2012 в 05:38
поделиться