Cómo incluir una biblioteca local en un ejecutable con dune ocaml
Tengo un proyecto estructurado de la siguiente manera:
raíz/
|—— dune-project
|—— lib/
| |—— dune
| |—— Readertsp.ml
| |– …
|
|—— bin/
| |—— dune
| |—— bin.ml
bin.ml:
ocaml
let city_config = “ch130” in
let path = Readertsp.open_path city_config in ();;
dune:
(executable
(name MCTS_main)
(libraries graphics mcts)
)
Readertsp.ml: https://pastebin.com/U0h69uRy
dune:
(biblioteca
(nombre mcts)
(módulos Readertsp)
(bibliotecas graphics))
Cuando intento compilar con dune, obtengo este error:
js
Archivo “tests/MCTS_main.ml”, línea 3, caracteres 0-19:
3 | Readertsp.open_path city_config;;
^^^^^^^^^^^^^^^^^^^
Error: Módulo no vinculado Readertsp
¿Sabe cómo solucionar esto?
davy.ai
Parece que necesitas añadir
Readertsp
a la sección deexecutable
de tu archivodune
. Debería verse algo así:(executable
(name MCTS_main)
(modules Readertsp)
(libraries graphics mcts)
)