错误:未绑定值Ppl.manager_alloc_strict

时间:2011-09-21 01:17:33

标签: package ocaml packages

我刚刚安装了一个名为Ppl的软件包,这是find -name "*ppl.*"/usr/的结果:

./lib/libppl.so.7.1.0
./lib/libppl.so.7
./lib/libcloog-ppl.so.0
./local/share/man/man3/libppl.3
./local/share/aclocal/ppl.m4
./local/include/ppl.hh
./local/lib/libppl.so
./local/lib/libppl.la
./local/lib/libppl.a
./local/lib/libppl.so.9
./local/lib/libppl.so.9.0.0

但是,当我按ocamlc -I /usr/local/lib/ocaml/3.11.2/apron -I /usr/local/lib/ocaml/3.11.2/gmp/ -I /usr/local/lib/ -c file.ml运行以下代码时,出现错误Unbound value Ppl.manager_alloc_strict

open Apron;;
open Mpqf;;
open Format;;

let print_array = Abstract0.print_array;;
let lincons1_array_print fmt x =
  Lincons1.array_print fmt x
;;
let generator1_array_print fmt x =
  Generator1.array_print fmt x
;;

let manpk = Polka.manager_alloc_strict();;
let manbox = Box.manager_alloc ();;
let manoct = Oct.manager_alloc ();;
let manppl = Ppl.manager_alloc_strict();;
...

有谁知道发生了什么?非常感谢你!

1 个答案:

答案 0 :(得分:1)

您已经向我们展示了库,但没有关于库的OCaml接口的任何内容 - 用于本机编译的cmx或cmxa。就像comment I left prior一样,对OCaml的Ppl包的位置做同样的事情。 OCaml不直接与C库(.a,.so)连接,而是通过编译接口(cmxa或cmi文件)连接。

您也可以考虑使用ocamlbuild系统。您可以使用外部依赖项标记模块,并让构建系统找到包(通过ocamlfind或硬编码)。