问题标签 [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 回答
480 浏览

java - 使 OcaIDE 在 Mac 上的 Eclipse 中工作

经过几天的尝试让我自己工作,我不得不停止浪费时间并最终寻求帮助。我在 iMac 上运行 Mavericks。我已经安装了 Eclipse[Version: Kepler Service Release 1] 和 OcaIDE 插件。我的所有路径都默认填写,除了ocamlbuild,omakeOcamle lib Path. 所以我想我已经完成了最终让 Ocaml 编译我的程序并让我得到我在终端中得到的结果所需的一切。

我创建了一个新的 Ocaml 托管项目,然后创建了一个带有扩展名的新文件file.ml并键入:

在终端中,我得到了我期望的结果:- : int = 10但是在 Eclipse 中,在错误选项卡中,我得到了org.eclipse.e4.ui.workbench. 我用谷歌搜索了这个,但在我看来,有很多事情可能会在错误选项卡中显示此错误。我只需要帮助解决这个问题,以便当我选择代码并单击“顶层评估”时,我可以让代码产生有用的东西而不是错误。我会很感激一些帮助。谢谢你。

0 投票
1 回答
431 浏览

ocaml - (OCamlfind) 构建依赖于 Core 的库

我正在尝试构建一个依赖于 Core 和 Core_extended 的小型库。我按照在 OCaml 中在哪里放置共享实用程序模块下的说明进行操作?并在 ocamlfind 中安装了库(在 META 文件中声明对 Core_extended 和 Core 的依赖)。现在在顶层使用它可以正常工作。

但是,当我尝试使用此库构建测试文件时,它不会自动检测到 Core 和 Core_extend 的依赖关系。使用这些编译指令

ocamlfind ocamlopt -c -g -package my_lib -thread -o file.cmx file.ml

ocamlfind ocamlopt -g -linkpkg -package my_lib -thread file.cmx -o file.native

我收到以下错误:

错误:没有为以下模块提供实现:

如果我使用额外的参数“-package core_extended”编译文件,那么它会编译,但是这是非常不切实际的。

有没有办法让这个依赖对编译过程透明,这样“-package my_lib”会自动加载到 Core 和 Core_extended 中?

编辑:这是我的元文件的内容:

编辑2:

在 META 文件中将“depends”重命名为“requires”解决了这个问题!

0 投票
1 回答
92 浏览

ocaml - OCaml 中的整数范围错误

最近我必须阅读一些用 OCaml 编写的源代码。在阅读了有关 OCaml 的资料后,我开始阅读源代码。当我编译源代码时,出现了问题。编译器说错的部分如下:


让 b = [| 0x2; 0xc; 0xf0; 0xff00; 0xffff0000; 0x7ffffff00000000 |]


错误消息说这是一个整数范围问题。我知道 OCaml 中的整数范围是 -2^30 ~ 2^30 - 1 ,因此导致了这个问题。但是源代码来自其他人可以使用的项目。我怎样才能正确编译它?有人可以告诉我一些细节吗?

0 投票
2 回答
1598 浏览

ocaml - 不理解 OCaml 中的符号

这些天我正在通过一些基本的材料和一个用 OCaml 编写的项目来学习 OCaml。但我不明白 OCaml 中的一些符号。例如:

这些带有符号`的东西是什么意思?
我也很难理解其他符号:

  • |>
  • _

我在OCaml Manual中找不到任何内容。有人可以解释有关上述符号的更多详细信息吗?或者只是向我推荐一些材料?

0 投票
1 回答
379 浏览

plugins - 如何为我的 OCaml 程序创建 GTK 插件 (cmxs)

我想为我的 OCaml 应用程序制作一个 GTK 插件,使用 Dynlink 加载。如何让 ocamlbuild 在生成的插件中包含 lablgtk2 库?

作为测试,我有main.ml

gtk_plugin.ml

_tags

但我得到:

注意:主二进制文件不能依赖于 libgtk(可能没有安装在目标系统上) - 如果插件无法加载,我想退回到控制台模式。

0 投票
1 回答
217 浏览

ocaml - ocamlbuild:使用选项构建插件

我正在尝试编写一个 ocamlbuild 插件(myocamlbuild.ml),它将使用来自另一个文件的定义。我有很多定义,我想在多个构建插件中使用,我想把它们放在自己的文件中。我尝试运行 ocamlbuild 两次,一次使用 -no-plugin 来构建插件,例如

ocamlbuild -no-plugin myocamlbuild.cmo

然后再一次

ocamlbuild actual-targets.otarget

但是当我运行第二个时,它会尝试重建插件并抱怨它找不到包含的库(即使它存在于 _build 目录中)。那么,有什么方法可以说服 ocamlbuild 在命令行中包含“-I _build _build/coq_paths.cmx”?从 'ocamlbuild -help' 看起来有一个 '-plugin-option' 标志,但我找不到任何使用它的方法。

谢谢。

0 投票
3 回答
957 浏览

ocaml - OCaml 中 Array.create 的奇怪之处

我是 OCaml 的新手。当我在 Ocaml 中使用数组进行一些编码时,我遇到了一个我无法理解的问题。
这是代码:

我只想将 1 分配给 a[0][1] 但后来事情发生了:第一列中的所有元素都已分配。即a[0][1]、a[1][1]、a[2][1]、a[3][1]和a[4][1]在代码后都等于1以上执行。
如果我使用以下方法创建数组:

一切都很好。

我的环境:

0 投票
1 回答
89 浏览

ocaml - OCaml 编译器如何处理这段代码?

我读了一个用 OCaml 编写的项目,但在这里找不到一些源代码:

这段代码是不相交集的一部分,但我不太了解递归函数。我曾经是一名 C++ 程序员,可以轻松地使用指针来处理事物。
当我在 OCaml utop 中运行这段代码时,结果让我大吃一惊。它确实生成了许多节点。
由于生成了这么多节点,此代码是否会占用大量内存?编译器如何在不溢出
的情况下处理这个问题?

0 投票
1 回答
3034 浏览

ocaml - 在 OCaml utop 中使用多个模块

我最近正在阅读一个 OCaml 项目,我想将源文件放在 utop 中,以便我可以做一些实验。
假设我有两个文件amodule.mlbmodule.ml
bmodule.ml将使用在amodule.ml中定义的函数,例如,bmodule使用Amodule.anyfunction()其中anyfunction()在amodule.ml中定义。
我想把它们都放在 utop 中:

这不起作用,因为Amodule是基于amodule.ml文件的模块名称,而 utop 不知道这些东西,我想。
那么如何在不改变文件内容的情况下把这些文件放到utop中呢?</p>

0 投票
2 回答
867 浏览

ocaml - 模块案例名称混淆

我犯了更新软件的错误,现在我无法运行任何 OUnit 测试。

我想我已经设法将问题归结为一个简单的 REPL 会话。

任何想法我做错了什么?

我在 Mac 笔记本电脑上运行它,它具有默认的不区分大小写/保留大小写的文件系统,但是使用包含路径的大小写并没有帮助。


我更大的问题是这样表现的: