4

我正在尝试编写一个 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' 标志,但我找不到任何使用它的方法。

谢谢。

4

1 回答 1

3

从 4.01 开始,ocamlbuild 支持一个新的(实验性)选项-plugin-tag,允许在编译时指定(内置)ocamlbuild 标记myocamlbuild.ml。如果您使用 findlib 打包“coq-paths”,则可以使用

ocamlbuild -use-ocamlfind -plugin-tag "package(coq-path)" ...
于 2013-12-11T14:27:23.897 回答