问题标签 [ocamlfind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12678 浏览

centos - 找不到 Ocamlfind 命令

我在安装依赖于 ocamlfind 的软件包时遇到问题,但在制作时出现 ocamlfind: command not found 错误。

我已经使用 ocaml 包管理器安装了 ocamlfind,并尝试使用“opam reinstall ocamlfind”重新安装。

我还尝试了“eval opam config env”命令来查看是否更新了我的 bin。

有没有人遇到过类似的问题/知道这可能是由什么引起的

运行make时的输出:

尝试 ocamlfind 时的输出

ocaml 已安装

并且在运行 eval 命令时

我在运行 centos 7 的服务器上

0 投票
1 回答
821 浏览

ocaml - 为什么 ocamlfind 找不到已安装的库 (camlp4)

我安装了 OCaml 库。为了证明我有这个:

和这个:

但是当我尝试这个时,它无法识别文件

我该如何启用它?

我的~/.ocamlinit样子是这样的:

0 投票
2 回答
450 浏览

ocaml - 将 ocamlfind 与本地目录一起使用

由于我在工作站上没有 root 访问权限,因此我在本地将 oUnit 安装到 ~/ounit 中。如果我运行,我可以在解释器中加载模块

现在我想运行测试,所以我尝试编译它:

不幸的是,ocamlfind 没有检测到 oUnit 包

我究竟做错了什么?

0 投票
1 回答
73 浏览

ocaml - 有没有办法告诉 ocamlbuild 运行我的文件而不是只生成可执行文件?

现在,如果我想重新编译并运行我使用的 ml 文件

有没有更短的方法来做到这一点?在 haskell 中,你可以通过说来运行事情runghc myfile.hs,我想知道 ocamlbuild 或 ocamlfind 是否提供类似的东西。

0 投票
2 回答
391 浏览

ocaml - 体面的 ocamlfind 文档

我将 ocaml 与 emacs tuareg 模式一起使用,作为一个新用户,我对所有 ocaml 工具都不太了解...

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

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

在此之后,我仍然不知道如何使用该库...

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

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

谢谢

0 投票
1 回答
162 浏览

ocaml - ocamlfind 包谓词是否已实现?

我有一个名为 sundialsml 的包,我想在其中加载一个稍微不同的 .cm(x)a 文件,具体取决于是否加载了名为 no_sens 的子包。很有希望的是,findlib 1.6.2 参考手册描述了一个“包谓词”特性:

[...] 最终选择的每个包都有包谓词。[它们] 具有“pkg_”形式加上包的名称(完全限定)。

所以我写了这个 META 文件,其中archive子包的包谓词分支:

但是 findlib 会加载 sundials.cma 而不管子包 no_sens 是否加载,例如:

如果我尝试在顶级包上进行分支,也会发生同样的情况,例如ao. 事实上,据我所知,形式pkg_foo的谓词从未定义过(#predicates "pkg_foo";;当然,除非我们说)。

我是否错误地使用了包谓词?还是它们没有真正实施?如果是这样,有没有其他方法可以根据子包的存在/不存在选择不同的档案?

请注意这里的重点是从用户选择的一组子包中计算存档。所以“你为什么不使用#predicates”不是我正在寻找的解决方案。

0 投票
1 回答
186 浏览

ocaml - 在 64 位 Mac 上安装 Compcert-2.6

在 64 位 macos 上编译 compcert 2.6 时出现以下错误

我通过 opam 安装了 coq 和 menhir,但不知何故 ocamlfind 找不到“menhirlib”。

版本 Coq 8.4.pl6;Ocaml 4.02.2;奥帕姆 1.2.2;门希尔 20160303

0 投票
1 回答
385 浏览

cygwin - 未绑定模块 llvm

我一直在研究 OCaml 的 LLVM Kaleidoscope 教程。在教程的第三部分,我已经导航到文件夹中的示例代码

OCaml-Kaleidoscope\Chapter3

编译时遇到问题

在cygwin上。这是教程中给出的编译代码。

我得到的错误是

我查找了一些解决此问题的方法。我发现的一种解决方案是使用

代替

但是,当我尝试收到此错误时:

为了解决这个问题,我尝试了:

但是 ocamlfind 已经安装了。

我发现的另一个解决方案是使用:

这导致:

我从这个链接使用 llvm 3.8.0 版和 OCaml 4.02.3 版。

我在正确的轨道上吗?我需要做什么来解决这个问题?

0 投票
1 回答
71 浏览

ocaml - 了解 Oasis findlibParent 的目的

我目前正在做一个项目,我正在使用 Oasis 来处理 OCaml 文件的构建。它工作得很好。但是,我findlibParent对库定义中的实际操作感到困惑。

该文档指定

FindlibParent:包含当前库的库。当前库将作为其父库构建并沿其安装。

我不明白built as its parents我提到某事的方式有什么含义。这是否意味着如果我有findlibParent: X定义中的模块库,并且模块的名称是Y,那么我必须像这样引用它open X.Y

如果这很明显,我深表歉意——措辞让我很困惑。

谢谢!

0 投票
1 回答
989 浏览

ocaml - OCaml:如何解决多个`cmi`s的findlib警告

现在我尝试使用ocamlfind和一些包编写编译器,尤其是ppx_sexp_conv使用opam. 不知何故需要
依赖,因此在编译文件时添加了编译选项。ppx_sexp_convcompiler-libs-I ~/.opam/VERSION/lib/compiler-libsocamlfind ocamlc -package ppx_sexp_conv

问题是,compiler-libs包括非常常见的名称文件,如parsing.cmi, main.cmi, lexing.cmi.
这会产生.cmi文件冲突并发出许多嘈杂的警告,如下所示:

```

请注意main.cmiparsing.cmilexing.cmimain.cmi存在于同一目录中。

我相信这样的文件名很常见,每个人都想使用。
我的问题是,如何消除这种嘈杂的警告。
多亏了他们,很难立即找到更重要的警告和错误......

我的环境:ocaml 4.02.3 和 opam 1.2.2。