我正在开始一个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 。 提前谢谢!
答案 0 :(得分:2)
这是一个警告,而不是错误,您可以放心地忽略它。
这里告诉你编译器可能会错过优化(因为它需要.cmx来进行内联)......但是你真的不关心ocamlbuild插件的优化,所以它是这样的精细。
但是,您可以在js_of_ocaml的bugtracker上添加错误报告。应该为所有内容安装.cmx文件。 ;)