Ich habe ein Projekt, das erfolgreich mit ocamlbuild erstellt. Ich möchte aber auch eine einfache Möglichkeit haben, mit den einzelnen Funktionen des Projekts aus verschiedenen Modulen über den Toplevel zu interagieren, aber meine Versuche, ocamlmktop zu verwenden, haben nicht so funktioniert, wie ich es gerne hätte. Ich habe festgestellt, dass, wenn ich die .cmi-Dateien manuell in das Active Directory legte, bekomme ich einen Fehler "Unbound-Modul". Der Befehl, den ich zur Zeit bin mit zu bauen, ist:Verwenden von ocamlmktop mit ocamlbuild
ocamlfind ocamlmktop -I _build -o my_ocaml -linkpkg -package str module1.cmo module2.cmo
Gibt es einen besseren, weniger hacky Weg, um die Top-Level-Arbeit in dieser Projektstruktur zu erhalten, ohne cmi Dateien aus dem _build Verzeichnis zu verschieben?
Edit: Ich habe herausgefunden, dass ich es die Typen und Module zu laden bekommen kann, wenn ich die Toplevel als
./my_ocaml -I _build
Aber das scheint hacky noch laufen. Gibt es eine Möglichkeit, den Suchpfad oder die cmi-Dateien möglicherweise zu erstellen?
Edit 2: Ich denke, die Lösung für mein Problem möglicherweise tatsächlich nicht eine benutzerdefinierte Toplevel überhaupt angesichts dieser Einschränkung über Schnittstellendateien zu kompilieren. Stattdessen habe ich für meine .ocamlinit Load-Anweisungen hinzugefügt, um die Module zu verwenden. Wenn jemand bessere Ideen hat, um das zu lösen, würde ich es sehr schätzen.