我正在尝试在Windows 8.1的sublime text 3中为OCaml创建一个构建系统。我在Cygwin中通过OCaml
安装了opam
,并在OCaml.sublime-build
文件中输入以下内容:
{
"cmd": ["C:/OCaml64/home/LENOVO/.opam/4.05.0+mingw64c/bin/ocaml.exe", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.ml"
}
我正在尝试使用包含test.ml
的{{1}}构建系统。我可以使用print_endline "hello world";;
交互式命令行或使用ocaml
直接从终端运行命令。但是当我在Sublime Text 3中打开文件并运行ocaml test.ml
时,我收到以下错误:
Ctrl-B
我在网上搜索了这个错误,但找不到太多适用于我的情况。非常感谢任何帮助!
答案 0 :(得分:2)
如果您在this tutorial之后安装了Ocaml,那么我在Eclipse下遇到了与OcaIDE相同的问题
那么这个解决方案也适用于你,只需从Cygwin终端类型:
ocaml-env-win -- "<insert the path to sublime text>"
。
这应该使用适当的环境设置启动Sublime Text。
来源:https://fdopen.github.io/opam-repository-mingw/ocaml-env/#program-startup。
答案 1 :(得分:0)
此错误表示编译器无法找到pervasives.cmi
模块的接口文件(Pervasives
文件)。默认情况下,编译器首先在当前文件夹中搜索,然后在标准库目录中搜索。您可以使用-I
选项添加更多目录,但在您的情况下,Pervasives
应位于标准库中。
标准库的路径在编译器中编译,并在编译器配置期间指定,使用ocamlc -where
打印路径。
在您的情况下,此路径要么不存在(例如,您删除它,假设它是一个非必要的构建工件,或者只是移动到不同的地方),不可访问(某些权限问题) ,或者不包含库代码(即cmi,cmo,cmx和其他文件)。无论如何,这是您的安装问题。