我正在学习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来安装它们。
-classpath或-cp中。那么为什么我们需要安装一个OCaml库呢?opam install a lib (如camomile (用于utf8) )之后,发生了什么以及会发生什么?这种安装是否只是下载库的源代码并将其复制到某个地方?opam install camomile,那么我如何在自己的代码中链接或使用它们?ocaml library?例如,对于camomile (http://camomile.sourceforge.net/dochtml/index.html),它们有三个模块:CamomileLibrary等,所以我应该在代码中对模块进行open,对吗?发布于 2013-04-24 15:44:27
工具:
使用最近的ocamlbuild,您可以使用“ocamlbuild - use -ocamlfind -pkg -pkg .”作为使用ocamlfind包package1、package2构建项目的快速方法。下一步是使用“ocamlbuild - use -ocamlfind”并将package()指令放入_tags文件中。
不过,我建议尝试oasis,它简化了为您的项目创建构建系统的过程。如果您想了解在使用oasis或ocamlbuild时发生了什么“底层”,请参阅_build/_log文件。它包含所有ocamlfind/ocamlc/ocamldep/ocamlopt调用。
opam问题可能属于另一个问题。
https://stackoverflow.com/questions/16195873
复制相似问题