问题标签 [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.
java - 使 OcaIDE 在 Mac 上的 Eclipse 中工作
经过几天的尝试让我自己工作,我不得不停止浪费时间并最终寻求帮助。我在 iMac 上运行 Mavericks。我已经安装了 Eclipse[Version: Kepler Service Release 1] 和 OcaIDE 插件。我的所有路径都默认填写,除了ocamlbuild
,omake
和Ocamle lib Path
. 所以我想我已经完成了最终让 Ocaml 编译我的程序并让我得到我在终端中得到的结果所需的一切。
我创建了一个新的 Ocaml 托管项目,然后创建了一个带有扩展名的新文件file.ml
并键入:
在终端中,我得到了我期望的结果:- : int = 10
但是在 Eclipse 中,在错误选项卡中,我得到了org.eclipse.e4.ui.workbench
. 我用谷歌搜索了这个,但在我看来,有很多事情可能会在错误选项卡中显示此错误。我只需要帮助解决这个问题,以便当我选择代码并单击“顶层评估”时,我可以让代码产生有用的东西而不是错误。我会很感激一些帮助。谢谢你。
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”解决了这个问题!
ocaml - OCaml 中的整数范围错误
最近我必须阅读一些用 OCaml 编写的源代码。在阅读了有关 OCaml 的资料后,我开始阅读源代码。当我编译源代码时,出现了问题。编译器说错的部分如下:
让 b = [| 0x2; 0xc; 0xf0; 0xff00; 0xffff0000; 0x7ffffff00000000 |]
错误消息说这是一个整数范围问题。我知道 OCaml 中的整数范围是 -2^30 ~ 2^30 - 1 ,因此导致了这个问题。但是源代码来自其他人可以使用的项目。我怎样才能正确编译它?有人可以告诉我一些细节吗?
ocaml - 不理解 OCaml 中的符号
这些天我正在通过一些基本的材料和一个用 OCaml 编写的项目来学习 OCaml。但我不明白 OCaml 中的一些符号。例如:
这些带有符号`的东西是什么意思?
我也很难理解其他符号:
- |>
- _
我在OCaml Manual中找不到任何内容。有人可以解释有关上述符号的更多详细信息吗?或者只是向我推荐一些材料?
plugins - 如何为我的 OCaml 程序创建 GTK 插件 (cmxs)
我想为我的 OCaml 应用程序制作一个 GTK 插件,使用 Dynlink 加载。如何让 ocamlbuild 在生成的插件中包含 lablgtk2 库?
作为测试,我有main.ml
:
gtk_plugin.ml
:
_tags
:
但我得到:
注意:主二进制文件不能依赖于 libgtk(可能没有安装在目标系统上) - 如果插件无法加载,我想退回到控制台模式。
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' 标志,但我找不到任何使用它的方法。
谢谢。
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以上执行。
如果我使用以下方法创建数组:
一切都很好。
我的环境:
ocaml - OCaml 编译器如何处理这段代码?
我读了一个用 OCaml 编写的项目,但在这里找不到一些源代码:
这段代码是不相交集的一部分,但我不太了解递归函数。我曾经是一名 C++ 程序员,可以轻松地使用指针来处理父事物。
当我在 OCaml utop 中运行这段代码时,结果让我大吃一惊。它确实生成了许多节点。
由于生成了这么多节点,此代码是否会占用大量内存?编译器如何在不溢出
的情况下处理这个问题?
ocaml - 在 OCaml utop 中使用多个模块
我最近正在阅读一个 OCaml 项目,我想将源文件放在 utop 中,以便我可以做一些实验。
假设我有两个文件amodule.ml,bmodule.ml。
bmodule.ml将使用在amodule.ml中定义的函数,例如,bmodule使用Amodule.anyfunction()其中anyfunction()在amodule.ml中定义。
我想把它们都放在 utop 中:
这不起作用,因为Amodule是基于amodule.ml文件的模块名称,而 utop 不知道这些东西,我想。
那么如何在不改变文件内容的情况下把这些文件放到utop中呢?</p>
ocaml - 模块案例名称混淆
我犯了更新软件的错误,现在我无法运行任何 OUnit 测试。
我想我已经设法将问题归结为一个简单的 REPL 会话。
任何想法我做错了什么?
我在 Mac 笔记本电脑上运行它,它具有默认的不区分大小写/保留大小写的文件系统,但是使用包含路径的大小写并没有帮助。
我更大的问题是这样表现的: