我基本上是在尝试遵循这篇文章中的这个 stackoverflow 答案:
我遇到了问题。当我试图运行一个文件时
open Lwt ;;
我收到错误消息说它是一个未绑定的模块。我已经运行了以下 opam 指令:
opam install lwt
它确实安装了正确的包。
所以我认为问题在于模块和包之间的区别,我不太了解。我将这个问题视为一个可能的答案,但我不确定这是否是我需要的。
感谢您的投入,我是 Ocaml 的新手,我正在尝试学习构建某些东西的来龙去脉。
我基本上是在尝试遵循这篇文章中的这个 stackoverflow 答案:
我遇到了问题。当我试图运行一个文件时
open Lwt ;;
我收到错误消息说它是一个未绑定的模块。我已经运行了以下 opam 指令:
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