2016-05-02 13 views
0

私は、OCamlのLLVM万華鏡チュートリアルで作業しています。 cygwinの上LLVMチュートリアルOCamlコンパイルエラー

ocamlbuild toy.byte

でコンパイルするとき、私は問題が発生しています

OCaml-Kaleidoscope\Chapter2 

second part of the tutorialで、私はフォルダ内のコード例にナビゲートしています。これはチュートリアルでコンパイルするコードです。私はthis linkからLLVMとのOCamlのバージョン4.02.3のバージョン3.8.0を使用しています

''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 

私は取得していますエラーです。

これを修正するには何が必要ですか?

+0

正確に何が起こっているのか分かりにくいですが、複数のOCamlコンパイラを使用しているようです。 – camlspotter

答えて

0

通常、この種のエラーは、プロジェクトを初めてコンパイルした後、ocamlライブラリ(またはOcaml)を更新して、プログラムを再度コンパイルしようとすると発生します。 (ここでは、token.cmiは前にコンパイルされ、今で変更されているライブラリに関するいくつかの仮定をすることがされている必要があります)

進めるための最も簡単な方法は、あなたの作業ディレクトリが

ocamlbuild -clean 
できれいにされ、このエラーを回避するにはあなたはOCamlのを使用している場合

、あなたが設定されたMakefileを持っている場合

make clean 

を使用するか、または手動で

rm -rf _build/ *.cmo *.cmi *.cmx *.byte *.opt *.cma 
のようなものを持つことができます
関連する問題