问题标签 [ocaml-dune]
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.
ocaml - 使用 dune 运行 OUnit 测试
我在运行 OUnit 测试时遇到了困难,主要是因为我对沙丘和 OUnit 都不熟悉。dune
我跑步时抱怨dune runtest
:
这是项目结构:
这是dune
:
这是test/dune
:
我可以看到出现错误是因为 dune 不知道f.ml
,因此不知道f
dune 文件中的 about 。
如何以了解我使用的库f.ml
的方式进行 dune 编译?如何正确运行单元测试?test/dune
f
test/f_test.ml
ocaml - OCaml / dune build 中的未绑定模块
我第一次尝试 OCaml 并尝试一起构建几个文件。
当我运行时:
我正进入(状态:
这是我的 bin/main.ml 文件:
在 lib/inner/rule.ml 中,包含:
所以我想我需要在文件中以某种方式导入 rule.mlbin/main.ml
文件?
ocaml - 如何使用参数运行 dune build @doc
我有一个使用沙丘的 ocaml 项目。我想使用 Odoc 生成文档。目前,正在运行dune build @doc
,但我想将-short-functors
选项传递给 Odoc。如何通过沙丘将期权传递给 Odoc?
ocaml - 如何使用沙丘链接到本地 ocaml 库
我接手了一个由主程序和库组成的ocaml项目,但库是独立构建的。到目前为止,使用“ocamlopt -I mylib.cmxa myprogram.ml”链接主程序是可能的——但是我在使用带有 ocamlopt 的 opam 库时遇到了问题,所以我决定改用“dune”。
我的问题是:如何使用 dune 与 ocaml 库链接,以便结果与上面的 ocamlopt 行相同?
ocaml - 我如何让沙丘执行 shell 命令作为库的依赖项
我有一个库,其中包含一些 C 存根,这些存根需要与其他一些我需要直接使用 gcc 编译的 C 代码链接。
我正在尝试这样做,但是调用 gcc 的规则似乎没有执行:
ocaml-dune - 如何使用“dune utop --watch”?
我希望dune utop
或另一个 OCaml 顶级在代码运行时获取我对代码所做的更改。似乎dune utop --watch
是为了做到这一点而设计的。真的吗?我该如何使用它?
在我的实验dune utop --watch
中,忽略了我保存到模块源代码中的更改。执行dune build
命令的变体似乎也没有帮助。
尽管显然与我不兼容,dune
但我也尝试过#use
并且#mod_use
没有任何运气的指令:utop
在重新启动之前似乎仍然没有收到我的代码更改。
ocaml - 有没有办法在 OCaml 沙丘中用连字符声明可执行文件?
我正在使用沙丘设置一个演示项目,并希望将可执行文件命名为“hello-world.exe”而不是“hello_world”。如果我尝试构建项目,我会收到编译器错误。如何在文件名中声明带有连字符的可执行文件?
我正在使用沙丘 1.9.3 和 OCaml 4.05.0。
沙丘:
你好世界.ml
构建错误
ocaml - 如何禁用错误(警告 66):未使用打开!在沙丘
根据https://github.com/ocaml/ocaml/pull/1110,OCaml 4.08 及更高版本会针对未使用的模块打开发出警告,即使它们是用open!
. open! Foo
这与使用来确定以下代码将在模块上下文中的常见做法产生摩擦Foo
(无论是否从内部使用任何东西Foo
)。此外,由于dune
默认情况下将所有警告视为致命错误,这将导致默认dev
配置文件中的沙丘构建失败,并出现以下错误
如何禁用此警告和致命错误?
ocaml - 不支持沙丘版本
我正在尝试从源代码安装 google-drive-ocamlfuse,但 prereuiqisites 让我有点困惑。我遇到了这个错误:
我安装了沙丘 1.7 版:
但显然,gapi-ocaml 需要沙丘 1.11,还是我完全弄错了?我没有使用 OCaml 或沙丘或所有其他工具的经验......
我怎样才能安装这个?
ocaml - 在沙丘冲突中运行 utop:extlib 和 base64
我有一个使用extlib
and的项目base64
。dune
在构建过程中使用。构建工作正常,但是当我尝试运行时dune utop
,我收到以下消息:
这似乎是一个已知问题。在extlib
页面上,它base64 < 2.0.0
列为冲突,这意味着以后的版本不应该冲突(我有 version 3.2.0
)。有什么我想念的吗?用这两个包构建自定义顶层是不可行的吗?谢谢你的帮助!