问题标签 [ocamlbuild]

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 投票
1 回答
1301 浏览

ocaml - 使用 OCaml 生成 _tags 文件的目的是什么,以及如何解释其内容?

Building OCaml code that uses list comprehension post 开始,我可以使用_tags文件来执行ocamlbuild更少的构建选项。

电池介绍中,我还需要有 _tags 文件才能使用电池包。

为什么第一个示例使用<**/*>第二个示例时使用<*>?一般来说,ocamlbuild 中 _tags 文件的目的是什么?你有一些很好的教程吗?

0 投票
1 回答
471 浏览

ocaml - 用于简单 OCaml 项目的基本 Oasis 或 Opam 文件

我是 OCaml 的新用户。我问了一个问题来学习如何建立一个基本的 OCaml 项目,但我仍然有问题。跳到末尾以获得 TL;DR

例如,我正在尝试学习 Irmin。在Irmin 的主页上,我看到我必须做

这样做,我最终得到了 Irmin 版本 0.8.3。不幸的是,我不能效仿他们的例子,因为显然 Irmin 的版本是 0.9.4,而且看起来 API 已经改变了。所以,我想开始一个干净的项目,只依赖 Irmin 0.9.4

首先,我设置了一个 opam 开关

确保从头开始工作。然后,我创建了一个_oasis看起来像这样的基本文件

然后我从 Irmin 主页中复制了示例example.ml

如果我这样做oasis setup,然后ocamlbuild example.ml我会得到一堆错误

所以简而言之,我的问题是:

建立一个依赖于 Irmin 0.9.4 的干净项目的最简单方法是什么,确保它是独立的(它不会依赖于构建过程安装的预安装库)?

0 投票
1 回答
74 浏览

ocaml - 如何在ocaml中调用模块

我写了一个包含 Vector 模块和 Matrix 模块的 ocaml 文件,我想在 Matrix 模块中调用 Vector 模块,但是编译器说 Vector 模块是未绑定的模块。我不知道为什么,这是我的代码

它们在同一个 .ml 文件中,我如何在 Matrix 模块中编写代码来调用 Vector 模块(不使用仿函数)

0 投票
2 回答
906 浏览

ocaml - OCamlfind 本地库未绑定模块

我正在尝试使用 ocamlfind 安装。我正在使用 OCamlMakeFile。这是我的Makefile:

所以基本上这个库是我想要分发的模块的集合。该库的基本用法是(main.ml):

我只通过运行“make”来编译库。它生成三个文件:“owebl.a、owebl.cma、owebl.cmxa”。然后我使用 ocamlfind 安装库:

哦,META文件是:

在我尝试编译使用该库的上述示例之前,一切正常。我跑:

我得到:

我尝试添加open Owebl到 main.ml 的开头,但我得到了类似的“未绑定模块 Owebl”。我很困惑为什么这些模块都是未绑定的。我错过了什么?

0 投票
2 回答
1191 浏览

ocaml - 使用“in”和“and”操作在 ocaml 中传递多个语句

我想将此 C++ 代码转换为 ocaml,但出现语法错误

C++ 代码

Ocaml代码

问题是 t 的值没有在 a12 和 a21 数组中传递,并且它变得无界。

0 投票
3 回答
582 浏览

ocaml - oasis 选择了错误的 ocamlbuild

我尝试使用 Opam 提供的 Ocaml 版本编译 Ocaml 项目。我的 ocamlbuild、ocamlfind 和 oasis 似乎还可以:

但是当我尝试编译时,似乎调用了错误的ocamlbuild版本,甚至ocamlfind的版本是正确的,我认为它解释了为什么ocamlfind找不到sexplib库。

我试图告诉 oasis 使用哪个版本的 ocambuild 没有成功,有人知道怎么做吗?谢谢

0 投票
1 回答
625 浏览

ocaml - 使用 ocamlbuild 时生成 Menhir 的转储/解释文件

我发现 Menhir 提供了 --dump 和 --explain 选项,它对调试有很大帮助。但是如何在 ocamlbuild 下启用这些选项,以便 Menhir 始终在编译时生成转储文件?

我尝试编写 myocamlbuild 文件处理自定义标签menhir_dump,如下所示:

但是当它编译时,选项被插入到子命令中,并且在ocamlc阶段编译失败。

有什么建议么?

0 投票
1 回答
347 浏览

opengl - 使用 ocamlbuild 构建 SDL 和 OpenGL 应用程序

我正在尝试使用 ocamlsdl 和 lablgl 创建一个 OCaml 程序,但我不知道如何编译它。相关信息如下:

注意: ocamlfind 找不到 ocamlsdl。当我转到 .opam 的 lib 目录时,我找到一个 ocamlsdl 文件夹,但它只有一个名为 opam.config 的空文件。我注意到的一件奇怪的事情是 main.byte 编译但不起作用,但 main.native 根本不编译。

也许问题是我没有链接 SDL 框架,但我不知道如何使用 ocamlbuild 来做到这一点。关于如何编译它的任何想法?

0 投票
2 回答
783 浏览

ocaml - ocamlbuild 指定输出位置/名称

我可以使用 ocamlbuild 工具指定构建位置和文件名吗?我想说(用伪代码):

0 投票
1 回答
74 浏览

ocaml - Ocamlbuild 不考虑包含的文件夹

我正在尝试使用 ocamlbuild 来构建我的项目。它需要考虑在文件夹中包含myfolder/以下文件的外部库(也使用 ocamlbuild 编译)(myfolder 是我在文件中创建的好库的符号链接myocamlbuild.ml):

要编译我的库,我运行以下命令:

当我运行它时,我遇到了错误:

如您所见,该选项-I myproject尚未赋予 command ocamlfind ocamlc -i ...。您可以注意到,如果我手动添加ocamlfind ocamlc -i -I 'myproject'此步骤有效。我尝试了很多不同的东西来解决我的问题:使用-cflags '-I,myproject' -lflags '-I,myproject',放入_tags

但我总是有这个错误。

我不知道这是否是相关信息,但我使用了 ocsigen myocamlbuild.ml 文件的略微修改版本:

先感谢您,

托拜厄斯博拉。