我在这里发了一个帖子(ocaml llvm kaleidoscope 教程“Unbound module LlvmExecutionEngine”),但我切换到的 Mac 上似乎不存在这个问题。
我试图让它工作: https ://github.com/llvm-mirror/llvm/tree/master/examples/OCaml-Kaleidoscope/Chapter7
来自本教程 http://llvm.org/docs/tutorial/OCamlLangImpl7.html
(我 99% 确定这两个是同一个人)
在解决了几个问题之后,我在过去几个小时内遇到了一个绊脚石
dyn-160-39-160-188:Chapter7 me$ ocamlbuild -use-ocamlfind toy.byte -package llvm llvm_executionengine
Finished, 0 targets (0 cached) in 00:00:00.
+ ocamlfind ocamlc -c -package llvm -o toplevel.cmo toplevel.ml
File "toplevel.ml", line 37, characters 25-53:
Error: Unbound module ExecutionEngine
Command exited with code 2.
Compilation unsuccessful after building 13 targets (12 cached) in 00:00:00.
我很确定 llvm_executionengine 是正确的包,就好像我尝试了其他东西一样,它说它不知道它是什么包。
这是有错误的代码行:
(* JIT the function, returning a function pointer. *)
let result = ExecutionEngine.run_function the_function [||] (*this line*)
the_execution_engine in
print_string "Evaluated to ";
print_float (GenericValue.as_float Codegen.double_type result);
任何帮助都会很棒!