Учебник 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.

Другие вопросы по тегам