У меня есть файл 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'
Может ли кто-нибудь сказать мне, что случилось?