我一直在研究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。
我需要做些什么来解决这个问题?
答案 0 :(得分:0)
通常在第一次编译项目时会发生这种错误,然后更新ocaml库(或Ocaml),然后再次尝试编译程序。 (这里,之前应该编译token.cmi,现在对已更改的库做一些假设)
要避免此错误,最简单的方法是使用
清理工作目录ocamlbuild -clean
如果您使用的是Ocaml,则可以使用
make clean
如果你有一个配置的Makefile,或者手动用
之类的东西rm -rf _build/ *.cmo *.cmi *.cmx *.byte *.opt *.cma