我正在开发 llvm 的 OCaml 绑定。
我通过 opam 安装了 llvm 包 (opam install llvm
),但是当我在 utop 中使用 llvm 时,出现了以下错误:
#require "llvm";;
Error: The external function 'llvm_global_succ' is not available.
opam的llvm版本是3.2。
我还尝试从官方网站构建llvm3.3(./configure --with-ocaml-libdir='ocamlc -where'
),构建成功了(所有llvm命令行工具都在工作),但我在utop中得到了相同的错误。
我的电脑是Mac OS 10.7.5。
编辑:问题已解决...
ocamlmktop -o llvmtop llvm.cma -cc g++
然后启动llvmtop
,在open Llvm
之后,您可以使用llvm绑定。
我还没有找到与utop
等价的解决方法...
编辑2:现在utop
正常运行了!
感谢这里的utop
文档。
创建一个
myutop_main.ml
文件:let () = UTop_main.main ()
用llvm绑定创建自定义的
utop
:ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++