이제 ocamlfind
과 일부 패키지를 사용하여 컴파일러를 작성하려고합니다. 특히 ppx_sexp_conv
과 opam
을 사용합니다.
어떤 방법 으로든 ppx_sexp_conv
의 종속성에는 이 필요하므로 ocamlfind ocamlc -package ppx_sexp_conv
으로 파일을 컴파일 할 때 컴파일 옵션 -I ~/.opam/VERSION/lib/compiler-libs
이 추가됩니다.OCaml : 여러 cmi의 findlib 경고를 해결하는 방법
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
이 같은 디렉토리에 있는지.
나는 그러한 파일 이름이 공통적이며 모두가 사용하기를 원한다고 생각한다.
내 질문은, 어떻게 그런 시끄러운 경고를 조용히하는 것입니다. opam 1.2.2를 OCaml 4.02.3 : 그들에게
덕분에, ...
내 환경을 더 중요 경고 및 즉시 오류를 발견하기 어렵다.
감사합니다. 나는이 문제를 해결했다! – nomaddo