首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在ocaml中打开Llvm

无法在ocaml中打开Llvm
EN

Stack Overflow用户
提问于 2018-05-27 10:27:34
回答 1查看 457关注 0票数 2

我尝试在ocaml中使用llvm绑定,在我的文件test.ml中,我有一行代码:

代码语言:javascript
复制
open Llvm

当我运行该命令时

代码语言:javascript
复制
ocamlbuild -use-ocamlfind test.byte -package llvm

我得到的结果是:

代码语言:javascript
复制
+ ocamlfind ocamldep -package llvm -modules test.ml > test.ml.depends
ocamlfind: Package `llvm' not found
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in  00:00:00.

我在这方面做错了什么?谢谢。

顺便说一句,_tag文件包含:

代码语言:javascript
复制
"src": traverse
<src/{lexer,parser}.ml>: use_camlp4, pp(camlp4of)
<*.{byte,native}>: g++, use_llvm, use_llvm_analysis

myocamlbuild.ml包含:

代码语言:javascript
复制
open Ocamlbuild_plugin;;
ocaml_lib ~extern:true "llvm";;
ocaml_lib ~extern:true "llvm_analysis";;
flag ["link"; "ocaml"; "g++"] (S[A"-cc"; A"g++"]);;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-01 03:46:57

我不知道为什么你使用的指令如此复杂。如果您是通过opam安装的,那么在OCaml中使用llvm绑定并不需要做任何类似的事情。

下面是食谱:

通过opam安装llvm绑定。

它可以像这样简单

代码语言:javascript
复制
opam install llvm

但是,opam可能会尝试安装您的系统上不可用的最新版本,因此请选择您已有的特定版本,并执行以下操作(假设您有llvm-3.8):

代码语言:javascript
复制
opam install conf-llvm.3.8
opam install llvm --criteria=-changed

( -criteria标志将阻止opam将conf-llvm升级到最新版本)

一旦它成功了,您就可以轻松地编译您的程序,而不需要任何额外的搭建。

创建并构建您的项目

  1. 创建全新的文件夹,例如,

mkdir llvm-project cd llvm-project

  • create一个示例应用程序(借用自我在网上找到的一些教程):

cat >test.ml<

  • 将其编译为字节码

ocamlbuild -pkgs llvm,llvm.bitreader test.byte

或到本机代码

ocamlbuild -pkgs llvm,llvm.bitreader test.native

  • run it

./test.native mycode.bc

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50548547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档