我一直在研究OCaml的LLVM万花筒教程。在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
我正在使用this link的llvm版本3.8.0和OCaml的版本4.02.3。
我需要怎么做才能解决此问题?
最佳答案
通常,当您第一次编译项目,然后更新ocaml库(或Ocaml),然后尝试再次编译程序时,会发生这种错误。 (在这里,token.cmi应该之前已经编译过,现在对已更改的库进行一些假设)
为避免此错误,最简单的方法是使用以下命令清理您的工作目录
ocamlbuild -clean
如果您使用的是Ocaml,则可以使用
make clean
如果您有配置的Makefile,或者手动使用类似
rm -rf _build/ *.cmo *.cmi *.cmx *.byte *.opt *.cma
关于compiler-errors - LLVM教程OCaml编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991472/