Учебник LLVM Ошибка компиляции OCaml
Я работал над учебным пособием по калейдоскопу LLVM для OCaml. В третьей части урока я перешел к примеру кода в папке
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
Я использую версию 3.8.0 llvm и версию 4.02.3 OCaml по этой ссылке.
Что мне нужно сделать, чтобы это исправить?
1 ответ
Внимательно прочитайте сообщение об ошибке. Это говорит:
'x86_64-w64-mingw32-as' is not recognized as an internal or external command, operable program or batch file.
Таким образом, вы не устанавливаете x86_64-w64-mingw32-as
, кросс-ассемблер Cygwin для MinGW64.
Если вы не знакомы с решением подобных проблем самостоятельно, я настоятельно не рекомендую использовать Cygwin OCaml или MinGW OCaml, поскольку вы столкнетесь со многими из них. Использование Linux (возможно, в виртуальной среде, такой как VirtualBox или Vmware) - самый плавный способ игры с OCaml+LLVM.