Llvm привязки OCaml
Я работаю над привязками llvm OCaml.
Я установил пакет llvm через opam (opam install llvm
), когда я использую llvm в utop, я получаю следующую ошибку:
#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
, вы можете использовать привязки llvm после open Llvm
.
Я еще не нашел эквивалент для utop
.
Edit2: теперь работает utop
!
Благодаря utop
документации здесь
-
создать файл myutop_main.ml
:
let () = UTop_main.main ()
-
создать пользовательский utop
с привязками llvm:
ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++
Ответы
Ответ 1
(поскольку меня попросят ответить на мой собственный вопрос...)
Использование системного уровня
ocamlmktop -o llvmtop llvm.cma -cc g++
Затем запустите llvmtop
, вы можете использовать привязки llvm после open Llvm
.
Я еще не нашел эквивалент для utop
.
Использовать utop
Благодаря документации utop
здесь
-
создать файл myutop_main.ml
:
let () = UTop_main.main ()
-
создать пользовательский utop
с привязками llvm:
ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++