Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在Ocaml中使用ocamlbuild构建llvm绑定_Macos_Binding_Ocaml_Llvm - Fatal编程技术网

Macos 在Ocaml中使用ocamlbuild构建llvm绑定

Macos 在Ocaml中使用ocamlbuild构建llvm绑定,macos,binding,ocaml,llvm,Macos,Binding,Ocaml,Llvm,我可以构建和安装LLVM,ocaml绑定库位于/usr/local/LLVM/lib/ocaml目录中。 当在示例()中构建时,我尝试使用指令中的ocamlbuild toy.byte获取错误消息 a@prosseek Chapter3> ocamlbuild toy.byte Finished, 0 targets (0 cached) in 00:00:00. + /usr/local/bin/ocamlc.opt -c -o codegen.cmo codegen.ml File

我可以构建和安装LLVM,ocaml绑定库位于
/usr/local/LLVM/lib/ocaml
目录中。

当在示例()中构建时,我尝试使用指令中的
ocamlbuild toy.byte
获取错误消息

a@prosseek Chapter3> ocamlbuild toy.byte
Finished, 0 targets (0 cached) in 00:00:00.
+ /usr/local/bin/ocamlc.opt -c -o codegen.cmo codegen.ml
File "codegen.ml", line 5, characters 0-9:
Error: Unbound module Llvm
Command exited with code 2.
Compilation unsuccessful after building 10 targets (9 cached) in 00:00:00.
似乎找不到LLVM库。如何教ocaml找到一个

我有
myocamlbuild.ml
来获取此内容:

open Ocamlbuild_plugin;;
ocaml_lib ~extern:true "llvm";;
ocaml_lib ~extern:true "llvm_analysis";;

flag ["link"; "ocaml"; "g++"] (S[A"-cc"; A"g++"]);;
我还尝试使用
ocamlbuild toy.byte-pkg llvm
来获取此错误

Warning: tag "package" does not expect a parameter, but is used with parameter "llvm"
+ /usr/local/bin/ocamlc.opt -c bindings.c
clang: warning: argument unused during compilation: '-fno-defer-pop'
+ /usr/local/bin/ocamlc.opt llvm.cma llvm_analysis.cma llvm_executionengine.cma llvm_target.cma llvm_scalar_opts.cma -cc g++ -I /Users/smcho/.opam/system/lib/llvm/. '-ccopt -lstdc++' llvm.cma ast.cmo codegen.cmo token.cmo lexer.cmo parser.cmo toplevel.cmo toy.cmo bindings.o -o toy.byte
/usr/local/bin/ocamlc.opt: unknown option `-ccopt -lstdc++'.
Usage: ocamlc <options> <files>
Options are:
.. 
警告:标记“package”不需要参数,但与参数“llvm”一起使用
+/usr/local/bin/ocamlc.opt-c bindings.c
叮当声:警告:编译期间未使用参数:'-fno defer pop'
+/usr/local/bin/ocamlc.opt llvm.cma llvm\u analysis.cma llvm\u executionengine.cma llvm\u target.cma llvm\u scalar\u opts.cma-cc g++-I/Users/smcho/.opam/system/lib/llvm/'-ccopt-lstdc++'llvm.cma ast.cmo codegen.cmo token.cmo lexer.cmo parser.cmo toplevel.cmo toy.cmo bindings.o-o toy.byte
/usr/local/bin/ocamlc.opt:未知选项“-ccopt-lstdc++”。
用法:ocamlc
选项包括:
.. 

我使用Mac OS X 10.7,并使用brew安装了ocaml

要使用
ocamlbuild
-package
选项,您必须传递附加的
-use-ocamlfind
选项:
ocamlbuild-use-ocamlfind toy.byte-package llvm

让我们结束讨论,将讨论转移到下一个关于opam的话题)导出ocamlib现在是一种黑客行为)