7

我正在玩弄 OCaml。我想知道的第一件事是构建一个 OCaml 项目。现在,我只是想要一些愚蠢的简单的东西,因为我只是在学习。任何人都可以将我指向一个构建系统以及使用该构建系统的“hello world”类型示例吗?

4

7 回答 7

12

ocamlopt 是标准的本地代码编译器。典型的构建语法是:

ocamlopt -o execname module1.ml module2.ml

您可以使用ocamlc来编译为字节码。

通常标准库已经包含在内。如果你在一个 *nix 系统上,并且想要包含,比如说,unix 库,你会做类似的事情

ocamlopt -o execname unix.cmxa module1.ml module2.ml

cmxa 文件是本机代码库,cma 文件是字节码库。

对于更复杂的构建,有帮助定位库的 ocamlfind 程序。您还可以使用 GNU make 和类似工具。更多信息可以在这里找到。 是一个关于使用 gmake 的页面。

是一个不错的“Coder's First Ocaml”页面。
是我在大学时参加的 Ocaml 课程的讲座页面。不过,不要试图向 Gunter 教授寻求任何提示,如果没记错的话,她是一个邪恶的巨魔。

于 2009-09-27T13:15:23.347 回答
10

还有ocamlbuild。对于没有外部依赖的简单项目,它很简单

ocamlbuild prog.native
于 2009-09-28T07:46:55.903 回答
4

看看ocaml-makeMarkus Mottle 的作品。该项目包括OCamlMakefile. 将其复制到您的源目录并创建一个Makefile,例如:

SOURCES = hello.ml
RESULT  = hello
-include OCamlMakefile
于 2009-09-27T14:17:40.097 回答
3

您可能正在寻找ide。看看了解 OCAML IDE?.

http://www.ocaml-tutorial.org/compiling_ocaml_projects解释了编译基础。在该页面的底部有一个名为Automated build systems和主题链接的部分Compiling with GNU makeCompiling with Omake两者都包括示例。

于 2009-09-27T13:11:34.587 回答
2

您可能知道这一点,但万一您不知道,OCaml 包含一个 REPL,您可以使用它来交互式编码,而无需编译。当您第一次学习时,它可能非常有用。

于 2009-09-27T20:03:33.730 回答
1

一个崭露头角的项目是OASIS,这是一个非常漂亮的构建系统,由 Sylvain Le Gall 开发。他在他的一堆 OCaml 项目中使用它,我也是。

于 2010-11-07T02:09:42.823 回答
0

我还会Makefile为 Ocaml 添加另一个,用于我的项目。

Ocaml 网站上提供了用法Makefile和示例。

于 2010-07-28T01:49:50.483 回答