Как включить зависимости из другого каталога с помощью ocamlbuild?

Я пишу программу OCaml, которую хочу организовать, поэтому у меня есть такая структура каталогов:

src
 |- folder1
 |   |- a.ml
 |- folder2
 |   |- b.ml

Примечание: b.ml использует open A для ссылки на a.ml.

Я хочу проверить свой код, чтобы убедиться, что он работает. Я успешно запустил ocamlbuild a.native, находясь в каталоге folder1. Когда я попытался сделать то же самое в каталоге folder2 с b.ml, я получил сообщение об ошибке, говорящее о том, что модуль A не привязан.

Я попытался сделать это из каталога src с тем же результатом.

Может ли кто-нибудь указать мне, что я делаю неправильно?


person InfiniteDonuts    schedule 06.07.2020    source источник


Ответы (1)


Я нашел ответ:

Добавьте файл _tags в папку src, чтобы структура выглядела так:

src
 |- folder1
 |   |- a.ml
 |- folder2
 |   |- b.ml
 |- _tags

Затем измените файл _tags, включив в него следующее:

<folder1> or <folder2>: include

Затем запустите ocamlbuild folder2/b.native из каталога src.

person InfiniteDonuts    schedule 06.07.2020