我在OCaml中有一个项目,该项目可以很久以前在Ubuntu中进行编译。今天,我想拿起项目并尝试在macOS Mojave 10.14.2
中进行编译。
ocaml --version
返回The OCaml toplevel, version 4.07.1
,js_of_ocaml --version
返回3.3.0
,npm --version
返回6.7.0
,node --version
返回v8.9.3
makefile
可以正常工作并生成analyze
。但是./analyze test.ev
返回Unimplemented Javascript primitive caml_pure_js_expr!
。
有人知道哪里出问题了吗?
编辑1:
由于我的analyze
很大,因此我测试了一个可以重现该错误的小示例。我这样写cubes.ml
:
let () =
let oneArgument (a: int) = a + 100 in
Js_of_ocaml.Js.Unsafe.global##.jsOneArgument := Js_of_ocaml.Js.wrap_callback oneArgument;
print_string "hello\n";
exit 0
以下两个命令可以很好地生成T
:
ocamlfind ocamlc -g -package js_of_ocaml.ppx -linkpkg cubes.ml -o T
js_of_ocaml --debuginfo --sourcemap --pretty T -o cubes.js
node cubes.js
返回的是hello
,但是./T
返回的是Unimplemented Javascript primitive caml_pure_js_expr!