6

我基本上是在尝试遵循这篇文章中的这个 stackoverflow 答案:

OCaml 中 HttpRequest 的最佳模块是什么

我遇到了问题。当我试图运行一个文件时

open Lwt ;; 

我收到错误消息说它是一个未绑定的模块。我已经运行了以下 opam 指令:

opam install lwt

它确实安装了正确的

所以我认为问题在于模块和包之间的区别,我不太了解。我将这个问题视为一个可能的答案,但我不确定这是否是我需要的。

OCaml 中的未绑定模块

感谢您的投入,我是 Ocaml 的新手,我正在尝试学习构建某些东西的来龙去脉。

4

2 回答 2

5

要使用“包”,您必须明确告诉编译器。OCaml 中的未绑定模块通常意味着以下两种情况之一:您的模块名称拼写错误,或者您未能设置正确的模块搜索路径。您使用哪些编译器选项?

如果你使用 ocamlfind,编译应该是这样的:

ocamlfind ocamlc -package lwt -c mymodule.ml

这指示编译器尝试在 lwt 包安装目录中查找模块,除了默认模块。

如果你不使用 ocamlfind.... 那么,使用 ocamlfind。

于 2013-05-22T03:54:09.390 回答
0

编译我们的程序的命令是:

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

于 2015-06-21T16:06:35.347 回答