我基本上是在尝试跟随这篇stackoverflow答案,位于这篇文章中:
但我遇到了问题。当我尝试运行只有一个文件的时候,
open Lwt ;;
我收到了一个错误,说这是一个未绑定的模块。我已经执行了以下 opam 指令:
opam install lwt
它确实安装了正确的包。
所以我认为问题在于模块和包之间的区别,我并不是很理解。我看了这个问题作为可能的答案,但我不确定它是否是我需要的。
感谢大家的帮助,我是Ocaml的新手,正在尝试学习构建的各个方面。
我基本上是在尝试跟随这篇stackoverflow答案,位于这篇文章中:
但我遇到了问题。当我尝试运行只有一个文件的时候,
open Lwt ;;
opam install lwt
它确实安装了正确的包。
所以我认为问题在于模块和包之间的区别,我并不是很理解。我看了这个问题作为可能的答案,但我不确定它是否是我需要的。
感谢大家的帮助,我是Ocaml的新手,正在尝试学习构建的各个方面。
要使用一个“包”,你必须明确告诉编译器。在OCaml中,未绑定的模块通常意味着两件事情之一:你输错了模块名称,或者你没有设置正确的模块搜索路径。你使用了哪些编译器选项?
如果你使用ocamlfind,则编译应该像这样:
ocamlfind ocamlc -package lwt -c mymodule.ml
这会告诉编译器除了默认的模块外,在lwt包安装目录下尝试查找模块。
如果你不使用ocamlfind……那就使用ocamlfind吧。
编译我们的程序的命令将是:
ocamlfind ocamlopt -o progprog -linkpkg \
-package lablGL,sdl,sdl.sdlimage,sdl.sdlmixer,sdl.sdlttf \
module1.ml module2.ml
参考链接: https://ocaml.org/learn/tutorials/compiling_ocaml_projects.html