2017-02-05 6 views
0

私のプログラムでSexplibを使用する必要があります。試しました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

caml_ba_get_1は、Bigarrayモジュールの機能です。 bigarrayパッケージ(またはbigarray.cma)でリンクしてみてください。私のシステムでは、関数はlibbigarray.aで定義されています。

0

あなたのパッケージで使用されているリンカーがありません。 -linkpkgocamlfindに渡して、関連する引数をリンカーに渡すようにすることで、この問題を解決できるはずです。

ocamlc -package ppx_sexp_conv -linkpkg prog.ml