问题
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.ml
file:let () = UTop_main.main ()
create a custom
utop
with 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.ml
file:let () = UTop_main.main ()
create a custom
utop
with 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