编译ocaml can';在opam库中找不到模块,在Js_中从_ocaml找到Js.ml 正在尝试将ocaml编译为javascript。
我放入的一些OCaml代码使用了编译ocaml can';在opam库中找不到模块,在Js_中从_ocaml找到Js.ml 正在尝试将ocaml编译为javascript。,ocaml,js-of-ocaml,Ocaml,Js Of Ocaml,我放入的一些OCaml代码使用了menhir解析器和js\u of_OCaml库。我用opam安装了它们 代码来自。 它是一个lexer、一个解析器和一个调用它们的主程序。 目标是从ocaml代码生成javascript程序,并在网页中运行它 我能够仅使用repo中的Makefile中的menhir和make来编译第一个主程序,这是 ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer" Main.native ocaml
menhir
解析器和js\u of_OCaml
库。我用opam
安装了它们
代码来自。
它是一个lexer、一个解析器和一个调用它们的主程序。
目标是从ocaml代码生成javascript程序,并在网页中运行它
我能够仅使用repo中的Makefile中的menhir
和make
来编译第一个主程序,这是
ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer" Main.native
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o Formula.byte Formula.ml
js_of_ocaml Formula.byte
我可以编译一个程序,只使用ocaml的js\u,使用makeformula.js
,这样做
ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer" Main.native
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o Formula.byte Formula.ml
js_of_ocaml Formula.byte
我的问题是,现在我无法使用ocamlfind
构建JsClient.js
make JsClient.js
所以我不能为“JsClient.ml”生成javascript代码。我得到的错误是编译器找不到由JsClient
使用的模块Js
。代码似乎在我的home dir中的opam库中,但我无法获得使用它的ocamlfind
的正确参数
如何将JsClient.ml
编译成JsClient.js
?编译JsClient.ml
文件的规则不好
JsClient.byte:
ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer"
正如您所说,此文件使用模块Js
,因此您需要使用与文件Formula.ml
相同的方式进行编译:
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o JsClient.byte JsClient.ml
js_of_ocaml JSClient.byte
最后我写了一个新的Makefile,也许有人可以看看它。