问题
I'm working on llvm OCaml bindings.
I installed llvm package through opam (opam install llvm), when I use llvm in utop, I get the following error:
#require "llvm";;
Error: The external function 'llvm_global_succ' is not available.
The opam llvm version is 3.2.
I also tried building llvm3.3 from the official site (./configure --with-ocaml-libdir='ocamlc -where'), the build was successful (all the llvm command-line tools are working), but I got the same error in utop.
I'm on Mac OS 10.7.5.
Edit: I solved it..
ocamlmktop -o llvmtop llvm.cma -cc g++
Then launch llvmtop, you can use llvm bindings after open Llvm.
I haven't found an equivalent for utop yet..
Edit2: Now utop is working!
Thanks to the utop documentation here
create a
myutop_main.mlfile:let () = UTop_main.main ()create a custom
utopwith llvm bindings:ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++
回答1:
(as I'm asked to answer my own question...)
To use system toplevel
ocamlmktop -o llvmtop llvm.cma -cc g++
Then launch llvmtop, you can use llvm bindings after open Llvm.
I haven't found an equivalent for utop yet..
To use utop
Thanks to the utop documentation here
create a
myutop_main.mlfile:let () = UTop_main.main ()create a custom
utopwith llvm bindings:ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++
来源:https://stackoverflow.com/questions/20002608/llvm-ocaml-bindings