Ocamlbuild 找不到 Ocamlbuild_js_of_ocaml cmx 文件

Ocamlbuild can't find Ocamlbuild_js_of_ocaml cmx file

我正在开始一个 Web 开发项目并希望使用 Js_of_ocaml。但是,当尝试使用 OCamlbuild 作为我的构建工具时,我遇到了以下错误:

Warning 58: no cmx file was found in path for module Ocamlbuild_js_of_ocaml, and its interface was not compiled with -opaque

我的Makefile如下:

.SUFFIXES: .ml .mli .byte .js
OFLAGS= -use-ocamlfind \
        -plugin-tag 'package(js_of_ocaml.ocamlbuild)'
%.js:
    ocamlbuild $(OFLAGS) $<

clean:
    ocamlbuild -clean
    find . -iname *.js -delete
    rm -rf build

我的 myocamlplugin.ml 文件包含文档中的文本:

let _ = Ocamlbuild_plugin.dispatch Ocamlbuild_js_of_ocaml.dispatcher

最后,我正在尝试编译一个最小的测试文件:

open Js;;
let rec fact = function
  | 0 -> 1
  | n -> n * (fact (n - 1));;

print_int (fact 10);;

如果有帮助,我在 Arch Linux 运行 OCaml 4.03.0ocamlbuild 0.9.3.
提前致谢!

这是警告,不是错误,您可以安全地忽略它。

在这里告诉您编译器可能会错过优化(因为它需要 .cmx 进行内联)...但是您真的不关心 ocamlbuild 插件的优化,所以没关系。

不过,您可以在 js_of_ocaml 的错误追踪器上提交错误报告。应为所有内容安装 .cmx 文件。 ;)