我的库有两个文件:bson.ml
和bson.mli
.
我还有另一个测试文件,它使用let doc = Bson.make ();;
etc 来访问库,没有任何问题。
我也成功地建造了它们,我得到bson.cmx
了bson.cmo
然后我跟着Where to place a shared utility module in OCaml? 为ocamlfind install
.
META是这样的:
name="bson"
description="A bson data structure, including encoding/decoding"
version="0.88.1"
archive(byte)="bson.cmo"
archive(native)="bson.cmx"
按照上面帖子的指示,我使用的命令是
ocamlfind install bson META _build/src/bson.cmx _build/src/bson.cmo src/bson.mli
它说
Removed /Users/xxx/.opam/4.00.1/lib/bson
Installed /Users/xxx/.opam/4.00.1/lib/bson/bson.mli
Installed /Users/xxx/.opam/4.00.1/lib/bson/bson.cmo
Installed /Users/xxx/.opam/4.00.1/lib/bson/bson.cmx
Installed /Users/xxx/.opam/4.00.1/lib/bson/META
如果我使用ocamlfind list
,我可以看到它在那里
bisect (version: 1.3)
bson (version: 0.88.1)
camlp4 (version: [distributed with Ocaml])
好的,然后我打开ocaml toplevel
并#require "bson"
. 它说
# #require "bson";;
/Users/xxx/.opam/4.00.1/lib/bson: added to search path
/Users/xxx/.opam/4.00.1/lib/bson/bson.cmo: loaded
最后,当我开始使用它时let doc = Bson.make ();;
,它说Error: Unbound module Bson。
为什么?
我成功安装了我的lib,为什么仍然不能使用它?
编辑
我也尝试通过命令行加载它,例如ocamlbuild -use-ocamlfind -package bson test.native
,仍然无法正常工作