0

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

警告 58:在模块 Ocamlbuild_js_of_ocaml 的路径中找不到 cmx 文件,并且其接口未使用 -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
提前致谢!

4

1 回答 1

2

这是一个警告,而不是错误,您可以放心地忽略它。

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

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

于 2016-11-13T20:53:54.040 回答