我需要在我的程序中使用Sexplib。我试过了
ocamlc sexplib.cma prog.ml
Error: Unbound module Sexplib
我得到了错误。但是如果我首先加载ppx_sexp_conv包,我可以在顶层使用Sexplib:
#require "ppx_sexp_conv";;
open Sexplib;;
所以我也尝试了这个:
ocamlfind ocamlc -package ppx_sexp_conv sexplib.cma prog.ml
Error: Error while linking /Users/neko/.opam/system/lib/sexplib/sexplib.cma(Sexplib):
The external function `caml_ba_get_1' is not available
我不知道这意味着什么,我现在需要做什么......有人可以帮忙吗?
答案 0 :(得分:0)
caml_ba_get_1
是Bigarray模块的一个功能。您可以尝试在bigarray包(或bigarray.cma
)中进行链接。在我的系统上,该函数在libbigarray.a
中定义。
答案 1 :(得分:0)
链接器缺少包使用的C外部。您应该能够通过将-linkpkg
传递给ocamlfind
来解决此问题,以便将相关参数传递给链接器:
ocamlc -package ppx_sexp_conv -linkpkg prog.ml