我一直在研究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。
我需要做些什么来解决这个问题?
答案 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的最流畅的方式。