LLVM教程OCaml编译汇编程序错误

时间:2016-05-04 21:52:09

标签: cygwin ocaml llvm ocamlbuild

我一直在研究OCaml的LLVM Kaleidoscope教程。在third part of the tutorial上,我已导航到文件夹

中的示例代码
OCaml-Kaleidoscope\Chapter3

使用

进行编译时遇到问题
ocamlbuild toy.byte

关于cygwin。这是编译教程中给出的代码。

我得到的错误是

mkdir 'C:\Users\setup\Compiler\llvm\examples\OCaml-Kaleidoscope\Chapter3\_build'
''ocamlopt.opt unix.cmxa -I 'C:\OCaml\lib\ocamlbuild' 'C:\OCaml\lib\ocamlbuild/ocamlbuildlib.cmxa' myocamlbuild.ml 'C:\OCaml\lib\ocamlbuild/ocamlbuild.cmx' -o myocamlbuild.exe
'x86_64-w64-mingw32-as' is not recognized as an internal or external command,
operable program or batch file.
File "myocamlbuild.ml", line 1:
Error: Assembler error, input left in file C:\cygwin64\tmp\camlasmc2c035.s
Exit code 2 while executing this command:
''ocamlopt.opt unix.cmxa -I 'C:\OCaml\lib\ocamlbuild' 'C:\OCaml\lib\ocamlbuild/ocamlbuildlib.cmxa' myocamlbuild.ml 'C:\OCaml\lib\ocamlbuild/ocamlbuild.cmx' -o myocamlbuild.exe

我使用的是llvm版本3.8.0和来自this link的OCaml版本4.02.3。

我需要做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:1)

仔细阅读错误消息。它说:

typings install aws-sdk

所以你不要安装'x86_64-w64-mingw32-as' is not recognized as an internal or external command, operable program or batch file. ,一个用于MinGW64的Cygwin交叉汇编程序。

如果您不熟悉自己解决此类问题,我强烈反对使用Cygwin OCaml和MinGW OCaml,因为您将面对很多问题。使用Linux(可能在VirtualBox或Vmware等虚拟环境中)是使用OCaml + LLVM的最流畅的方式。