告诉ocamlbuild使用Core

告诉ocamlbuild使用Core,ocaml,ocamlbuild,Ocaml,Ocamlbuild,在我的项目中,我有一个使用Core.Std的文件,所以我运行了 opam install core 并补充说 open Core.Std 在我的档案里 当我跑的时候 ocamlbuild myprogram.native 它说: Error: Unbound module Core 指向上面的open语句的行 因此,我尝试以下方法: ocamlbuild -use-ocamlfind -pkgs core.std myprogram.native ocamlbuild -use-oc

在我的项目中,我有一个使用Core.Std的文件,所以我运行了

opam install core
并补充说

open Core.Std
在我的档案里

当我跑的时候

ocamlbuild myprogram.native
它说:

Error: Unbound module Core
指向上面的open语句的行

因此,我尝试以下方法:

ocamlbuild -use-ocamlfind -pkgs core.std myprogram.native
 ocamlbuild -use-ocamlfind -pkg core
并获得以下消息:

ocamlfind: Package `core.std' not found

所以我想也许我也需要运行opam install core.std,但根据opam,显然没有这样的东西。我还在ocaml repl中尝试了“opencore.Std;;”,但这也不起作用。有什么想法吗?

从ocamlbuild cmd中删除.std

您可以使用此库通常附带的
corebuild
,也可以尝试以下方法:

ocamlbuild -use-ocamlfind -pkgs core.std myprogram.native
 ocamlbuild -use-ocamlfind -pkg core
注意:使用
ocamlfind list
命令查看可用软件包的列表


p.p.S.除了
corebuild
之外,他们通常还提供
coretop
,一个允许您运行支持核心的顶级脚本。它在引擎盖下使用
utop
,因此在进行实验之前,请确保您已使用
opam安装utop
(如果您使用
opam
)安装了它。

谢谢!现在我收到一条不同的错误消息:“ocamlfind:error from package`threads”:缺少-thread或-vmthread开关命令,代码为2。”和-thread或-vmthread不是开关ocamlbuild accepts.vmthread和thread是标记。您还希望,
-tag[s]thread
您真的应该将一个帮助您的答案标记为正确,作为对回答者的奖励。您如何从myocamlbuild.ml提供此标志?“this”是哪一个<代码>-使用ocamlfind或
-pkg core
?后者
-pkg core
。通常他们会将其添加到
\u tags
文件中,并且
myocamlbuild.ml
用于根据
\u tags
确定一组正确的标志。根据您的
myocamlbuld.ml
,您需要添加
:pkg\u core
:package(core)
。编写自己的
build
插件是一种高级魔法,通常不需要。即使是手动填充
\u标签
文件也是很不寻常的。所以,也许你看错方向了。哦,我明白了。谢谢。:)