Der einfache Weg ist, eines von OCaml Build-System wie ocamlbuild oder Oase zu verwenden. Eine andere Option wäre jbuilder, aber jbuilder ist sehr über die Organisation der Datei angetan und erlaubt nicht die Art von Unterverzeichnisstruktur, nach der Sie fragen.
Der explizitere Pfad kommt mit einer Warnung: OCaml Build-Prozess ist kompliziert mit vielen beweglichen Teilen, die schwer zu behandeln sein können. Nach dieser üblichen Warnung sucht der OCaml-Compiler bei der Suche nach Modulen zunächst in der aktuellen Compilierumgebung nach dem Modul und sucht dann in den durch die Optionskästchen "-I" (plus.) Angegebenen Verzeichnissen nach kompilierten Interface- ".cmi" -Dateien das aktuelle Verzeichnis und das Standardbibliotheksverzeichnis).
Um also Ihre bar.ml
Datei zu kompilieren, müssen Sie das übergeordnete Verzeichnis in der Liste der enthaltenen Verzeichnisse mit der Option -I ..
hinzufügen.
Nach alledem werden Sie feststellen, dass während der Verbindungsphase alle Objektdateien (d. H. .cmo oder .cmx) in einer topologischen Reihenfolge aufgelistet werden müssen, die mit dem Abhängigkeitsdiagramm Ihres Projekts kompatibel ist.
Daher, lassen Sie mich meinen Rat wiederholen: Verwenden Sie ein richtiges Build-System.
Wie kompiliere/lade ich die Datei 'bar.ml'? – Bergi
https://caml.inria.fr/pub/docs/manual-ocaml/comp.html#sec269 – Bergi