首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OCaml中做好编译管理?

如何在OCaml中做好编译管理?
EN

Stack Overflow用户
提问于 2013-04-24 15:20:44
回答 1查看 675关注 0票数 5

我正在学习OCaml中更复杂的编译。

首先,我不是一个C程序员,我真的不知道什么是make,等等,我正在使用Mac OS X terminal,我也是一个Java程序员。

我发现在OCaml中,有一些东西,比如ocamlcocamlbuildocamlfindoasis等等,我对它们感到非常困惑。

问题1

有人能告诉我我应该在ocamlcocamlbuildocamlfindoasis中使用哪一个吗?

问题2

我试过这个教程http://nicolaspouillard.fr/ocamlbuild/ocamlbuild-user-guide.html,它对ocamlbuild有好处。

但是,如果我想使用外部库(如ocaml-batteriescamomile ),如何使用ocamlbuild链接这些库?

问题3

这是一个关于所有外部库的更实际的问题。

因此,对于许多ocaml库,我使用opam install来安装它们。

  1. 为什么需要安装一个库?我的意思是,在Java中,我们通常只是将lib复制到某个地方,然后将库的路径包含到-classpath-cp中。那么为什么我们需要安装一个OCaml库呢?
  2. opam install a lib (如camomile (用于utf8) )之后,发生了什么以及会发生什么?这种安装是否只是下载库的源代码并将其复制到某个地方?
  3. 那怎么能找到图书馆呢?例如,如果我是opam install camomile,那么我如何在自己的代码中链接或使用它们?
  4. 通常如何使用ocaml library?例如,对于camomile (http://camomile.sourceforge.net/dochtml/index.html),它们有三个模块:CamomileLibrary等,所以我应该在代码中对模块进行open,对吗?
EN

回答 1

Stack Overflow用户

发布于 2013-04-24 15:44:27

工具:

  • ocamlc: OCaml到字节码编译器
  • ocamlopt: OCaml到本机代码编译器
  • ocamlfind:包装ocamlc和ocamlopt来编译/链接各种OCaml包,即使用"ocamlfind ocamlopt -package camomile -c yourfile.ml“编译yourfile.ml,使用'ocamlfind ocamlopt -package yourfile.cmx -linkpkg -o yourfile‘创建一个可执行文件。
  • oasis:一个像autoconf这样的构建系统生成器&用于C/C++的自动化,但要简单得多

使用最近的ocamlbuild,您可以使用“ocamlbuild - use -ocamlfind -pkg -pkg .”作为使用ocamlfind包package1、package2构建项目的快速方法。下一步是使用“ocamlbuild - use -ocamlfind”并将package()指令放入_tags文件中。

不过,我建议尝试oasis,它简化了为您的项目创建构建系统的过程。如果您想了解在使用oasis或ocamlbuild时发生了什么“底层”,请参阅_build/_log文件。它包含所有ocamlfind/ocamlc/ocamldep/ocamlopt调用。

opam问题可能属于另一个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16195873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档