LLVM教程OCaml编译错误

时间:2016-05-02 20:51:49

标签: compiler-errors ocaml llvm ocamlbuild

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

中的示例代码
OCaml-Kaleidoscope\Chapter2

使用

进行编译时遇到问题

ocamlbuild toy.byte

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

我得到的错误是

''ocamlc.opt -c -I +camlp4 -pp camlp4of -o parser.cmo parser.ml
File "parser.ml", line 1:
Error: The files C:\OCaml\lib\pervasives.cmi and token.cmi
   make inconsistent assumptions over interface Pervasives
Exit code 2 while executing this command:
  ''ocamlc.opt -c -I +camlp4 -pp camlp4of -o parser.cmo parser.ml

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

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

1 个答案:

答案 0 :(得分:0)

通常在第一次编译项目时会发生这种错误,然后更新ocaml库(或Ocaml),然后再次尝试编译程序。 (这里,之前应该编译token.cmi,现在对已更改的库做一些假设)

要避免此错误,最简单的方法是使用

清理工作目录
ocamlbuild -clean

如果您使用的是Ocaml,则可以使用

make clean

如果你有一个配置的Makefile,或者手动用

之类的东西
rm -rf _build/ *.cmo *.cmi *.cmx *.byte *.opt *.cma