(OCamlfind) сборка библиотеки с зависимостями от Core

Я пытаюсь создать небольшую библиотеку, которая имеет зависимости от Core и Core_extended. Я следовал инструкциям в разделе Где разместить общий служебный модуль в OCaml? и установил библиотеку в ocamlfind (объявив зависимость от Core_extended и Core в META-файле). Использование его на верхнем уровне теперь работает нормально.

Однако, когда я пытаюсь создать тестовый файл с использованием этой библиотеки, он не обнаруживает зависимости от Core и Core_extend автоматически. Используя эти инструкции по компиляции

ocamlfind ocamlopt -c -g -package my_lib -thread -o file.cmx file.ml

ocamlfind ocamlopt -g -linkpkg -package my_lib -thread file.cmx -o file.native

Я получаю следующую ошибку:

Ошибка: нет реализации для следующих модулей:

   Core referenced from /.../mylib.cmx

   Core_extended referenced from /.../mylib.cmx

Если я скомпилирую файл, используя дополнительные аргументы "-package core_extended", то он скомпилируется, однако это довольно непрактично.

Есть ли способ сделать эту зависимость прозрачной для процесса компиляции, чтобы "-package my_lib" автоматически загружался в Core и Core_extended?

РЕДАКТИРОВАТЬ: Это содержимое моего META-файла:

name="my_lib"
description="small library"
version="0.1"
depends="core,core_extended"
archive(byte)="my_lib.cmo"
archive(native)="my_lib.cmx"

EDIT2:

Переименование "зависит" от "требуется" в META-файле исправило это!

1 ответ

Ты должен написать requires вместо depends

Другие вопросы по тегам