Теперь я пытаюсь написать компилятор, используя ocamlfind
и некоторые пакеты, особенно ppx_sexp_conv
с opam
.
В некоторых случаях зависимости ppx_sexp_conv
требуют compiler-libs
, поэтому при компиляции файлов добавляется -I ~/.opam/VERSION/lib/compiler-libs
. ocamlfind ocamlc -package ppx_sexp_conv
.OCaml: как решить findlib предупреждения нескольких `cmi` s
Проблема заключается в том, что compiler-libs
включает в себя очень распространенные файлы имен, такие как parsing.cmi
, main.cmi
, lexing.cmi
.
Это делает конфликты .cmi
файлов и сделать много шумных предупреждения следующим образом:
$ ocamlfind ocamlc -package ppx_sexp_conv -c parser.mli
findlib: [WARNING] Interface main.cmi occurs in several directories: ., /home/nomaddo/.opam/4.02.3/lib/ocaml/compiler-libs
findlib: [WARNING] Interface lexer.cmi occurs in several directories: ., /home/nomaddo/.opam/4.02.3/lib/ocaml/compiler-libs
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/nomaddo/.opam/4.02.3/lib/ocaml/compiler-libs, /home/nomaddo/.opam/4.02.3/lib/ocaml
findlib: [WARNING] Interface parser.cmi occurs in several directories: ., /home/nomaddo/.opam/4.02.3/lib/ocaml/compiler-libs
`` `
Обратите внимание, что main.cmi
, parsing.cmi
, lexing.cmi
и main.cmi
существуют в том же каталоге.
Я считаю, что такие имена файлов являются общими, и все хотят использовать.
Мой вопрос в том, как успокоить такие шумные предупреждения.
Благодаря им трудно найти более важные предупреждения и ошибки сразу ...
Мое окружение: ocaml 4.02.3 с opam 1.2.2.
Спасибо за ваш быстрый ответ. Я решил эту проблему! – nomaddo