我正在学习更复杂的编译OCaml。
首先我不是 C 程序员,我真的不知道什么是make,等等。我正在使用Mac OS X terminal,我也是一名 Java 程序员。
我发现,在OCaml中,有一些事情想ocamlc,ocamlbuild,ocamlfind,oasis,等我非常被他们迷惑。
问题 1
谁能告诉我应该在ocamlc, ocamlbuild, ocamlfind, 中使用哪一个oasis?
问题2
我试过这个教程http://nicolaspouillard.fr/ocamlbuild/ocamlbuild-user-guide.html,它对ocamlbuild.
但是,如果我想使用ocaml-batteries或等外部库camomile,我如何使用 链接这些库ocamlbuild?
问题 3
这是一个关于所有外部库的更实际的问题。
所以对于很多 ocaml 库,我都opam install用来安装它们。
为什么需要安装一个库?我的意思是,在 Java 中,通常我们只是将 lib 复制到某个地方,然后将 lib 的路径包含到-classpath或 中-cp。那么为什么我们需要安装一个 OCaml 库呢?
在opam install一个lib之后,比如camomile(对于utf8),发生了什么,会发生什么?这种安装只是下载 lib 的源文件并将其复制到某个地方吗?
那怎么找图书馆呢?例如,如果我opam install camomile,那么我如何在我自己的代码中链接或使用它们?
通常如何使用ocaml library?例如,对于camomile(http://camomile.sourceforge.net/dochtml/index.html)他们有三个模块:CamomileLibrary等。所以我应该open在我的代码中使用该模块,对吗?
小智 2
工具:
使用最近的 ocamlbuild,您可以使用“ocamlbuild -use-ocamlfind -pkg -pkg ...”作为使用 ocamlfind 包 package1、package2 构建项目的快速方法。下一步是使用“ocamlbuild -use-ocamlfind”并将 package() 指令放入 _tags 文件中。
不过我建议尝试 oasis,它简化了为您的项目创建构建系统的过程。如果您想了解使用 oasis 或 ocamlbuild 时“幕后”发生的情况,请参阅 _build/_log 文件。它包含所有 ocamlfind/ocamlc/ocamldep/ocamlopt 调用。
opam 问题可能属于一个单独的问题。
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |