首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像样的ocamlfind文档

像样的ocamlfind文档
EN

Stack Overflow用户
提问于 2015-12-19 19:57:25
回答 2查看 373关注 0票数 2

我使用ocaml和emacs tuareg模式,作为一个新用户,我真的不太了解所有的ocaml工具...

最近我用opam安装了ocaml-wlc,它是ocaml中的wayland库的绑定。我尝试在我的代码中使用open导入库,但它不起作用。

经过一些研究,我发现我需要使用ocamlfind,这是一个管理外部库的工具。我在网上没有找到关于这个工具的任何教程或文档,所以我阅读了手册。

在这之后,我仍然不知道如何使用图书馆…

我发现有很多用于ocaml的工具,但我还没有找到任何关于如何使用该生态系统的适当教程/文档。

标题询问了ocamlfind教程,但实际上我正在寻找一个关于ocaml工具生态系统以及如何管理简单任务(如使用opam安装和使用库)的合适教程。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-12-19 20:39:15

它包含一个example目录,显示了如何使用它:

https://github.com/Armael/ocaml-wlc/tree/master/example

简而言之,假设您正在使用ocamlbuild,将true: package(wlc)放入您的_tags文件中。

票数 1
EN

Stack Overflow用户

发布于 2015-12-20 03:15:22

使用ocamlfind list获取所有已知ocamlfind包的列表,分别列出它们的内部名称。

如果你已经在你的顶层(ocaml)中激活了findlib,那么你会得到关于将包加载到顶层的提示:

代码语言:javascript
复制
str@s132-intel:~> ocaml
        OCaml version 4.02.3

Findlib has been successfully loaded. Additional directives:
  #require "package";;      to load a package
  #list;;                   to list the available packages
  #camlp4o;;                to load camlp4 (standard syntax)
  #camlp4r;;                to load camlp4 (revised syntax)
  #predicates "p,q,...";;   to set these predicates
  Topfind.reset();;         to force that packages will be reloaded
  #thread;;                 to enable

要使用顶层中的包,请使用由#list;;显示的名称使用#require "internalname";;,然后才能使用open。

附注:open Modulename的缺点是隐藏了函数的来源。

要编译您的代码,需要调用前缀为ocamlfind,see ocamlfind doc here的编译器,一般语法为:

代码语言:javascript
复制
# binary test1, use modules Unix and Str, link packages in
ocamlfind ocamlc -o test1 -packages unix,str -linkpkg test1.ml

希望这篇文章能帮你入门。有关详细信息,请参阅ocaml.org。

耐心点,这不是一种主流语言,有大量的材料。但您可以直接在他们的邮件列表上与研究人员和开发人员交谈。

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

https://stackoverflow.com/questions/34370453

复制
相关文章

相似问题

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