Eclipse Indigo下的OCaIDE有问题。我有一个新的OCaml管理项目,还有几个模块。以下是我在工作区资源管理器中的外观:
所有这些文件都有错误(.mli文件是自动创建的),声音(例如文件accum.ml
)
Error: I/O error: lab2/accum.cmo: No such file or directory
实际上目录中没有这样的文件。我只是无法让OCaIDE创建这些文件。我尝试过自动构建,手动构建,清理,我能想到的任何东西。插件配置中设置的OCaml路径似乎没问题,因为顶层解释器工作正常。
此外,以下是项目中的一些文件:
accum.ml:
let reverseInt n =
let rec reverseAccum n accum = match n with
| 0 -> accum
| n -> reverseAccum (n/10) (10*accum + (n mod 10))
in reverseAccum n 0
的.project:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>lab2</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>Ocaml.ocamlbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>ocaml.ocamlnature</nature>
</natures>
</projectDescription>
.paths:
.
/usr/lib/ocaml
我真的很感谢你的帮助。
编辑:也许它也很重要,我使用Ubuntu 12.04 64位和OCaml 3.12.1
Edit2:这是一些编译器输出:
Building: lab2/simple.mli
File "lab2/simple.mli", line 1, characters 0-1:
Error: I/O error: lab2/simple.mli: No such file or directory
Building: lab2/simple.ml
File "lab2/simple.ml", line 1, characters 0-1:
Error: I/O error: lab2/simple.cmo: No such file or directory
Building: lab2/lists.mli
File "lab2/lists.mli", line 1, characters 0-1:
Error: I/O error: lab2/lists.mli: No such file or directory
Building: lab2/lists.ml
File "lab2/lists.ml", line 1, characters 0-1:
Error: I/O error: lab2/lists.cmo: No such file or directory
Building: lab2/bst.mli
File "lab2/bst.mli", line 1, characters 0-1:
Error: I/O error: lab2/bst.mli: No such file or directory
Building: lab2/bst.ml
File "lab2/bst.ml", line 1, characters 0-1:
Error: I/O error: lab2/bst.cmo: No such file or directory
Building: lab2/accum.mli
File "lab2/accum.mli", line 1, characters 0-1:
Error: I/O error: lab2/accum.mli: No such file or directory
Building: lab2/accum.ml
File "lab2/accum.ml", line 1, characters 0-1:
Error: I/O error: lab2/accum.cmo: No such file or directory
答案 0 :(得分:1)
似乎问题是由我创建OCaml项目的奇怪方法引起的 - 我在Eclipse工作区外创建它们。
我发现了this主题并且他们说,OcaIDE(显然是Eclipse)试图不与其工作区外的文件夹混合。因此,如果项目不在工作区文件夹中,它将不会自动创建接口,编译单元等。
我重新创建了我的项目,这次是在工作区中,一切都很顺利。我甚至可以重命名已经创建的文件,并且所有引用(mli,cmo)都会更新。