针对 Yojson 编译时出错

Error compiling against Yojson

我的代码中导入了 Yojson

open Yojson.Basic.Util

Make 文件中的后续内容

eval `opam config env` && ocamlbuild -use-ocamlfind voigt.native

编译时出现错误 "Unbound module Yojson"

eval `opam config env` && ocamlbuild -use-ocamlfind voigt.native
ocamlfind ocamlopt -c -o config.cmx config.ml
+ ocamlfind ocamlopt -c -o config.cmx config.ml
File "config.ml", line 1, characters 5-22:
Error: Unbound module Yojson
Command exited with code 2.

当我使用 utop 时一切正常。我应该怎么做才能更正此错误?

您需要指定要使用 yojson。假设包名是 yojson 正确的命令是:

ocamlbuild -use-ocamlfind -pkg yojson voigt.native

并且在现代安装中,您甚至不需要使用 -use-ocamlfind 标志,因为即使没有这个它也应该可以工作。