Ocamlbuild找不到Ocamlbuild_js_of_ocaml cmx文件

时间:2016-11-13 20:34:55

标签: makefile ocaml ocamlbuild ocamlfind js-of-ocaml

我正在开始一个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.0 ocamlbuild 0.9.3 。 提前谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

但是,您可以在js_of_ocaml的bugtracker上添加错误报告。应该为所有内容安装.cmx文件。 ;)