如何通过 ocamlopt 使用图形模块编译 ocaml 程序?
How to compile ocaml program with using Graphics module by ocamlopt?
据我了解,graphics.cmax 不存在。
但是如何通过ocamlopt使用Graphics模块来编译ocaml程序呢?
可能吗?也许一些替代图形库?
嗯,graphics.cmax确实不存在,为什么会存在呢?但是 graphics.cmxa 确实如此。所以当然可以将使用图形库的程序编译为机器代码。您可以使用 ocamlfind
来根据您的编译模式找到合适的库。例如在我的机器上:
$ ocamlfind query -predicates native -a-format graphics
/home/ivg/.opam/fresh/lib/ocaml/graphics.cmxa
在一个简单的例子中,像这样,使用OCaml系统本身分发的图形库,你可以在编译字符串中添加graphics.cmxa
。在更复杂的情况下,只需使用 ocamlfind ocamlopt
而不是 ocamlopt
,并指定 -package
选项来引用库名称,在您的情况下它将是:
$ ocamlfind ocamlopt -package graphics ...
或者您可以使用 ocamlbuld
:
$ ocamlbuild -package graphics my_cool_application.native
您的酷应用程序在 my_cool_application.ml
文件中有一个入口点。
据我了解,graphics.cmax 不存在。 但是如何通过ocamlopt使用Graphics模块来编译ocaml程序呢? 可能吗?也许一些替代图形库?
嗯,graphics.cmax确实不存在,为什么会存在呢?但是 graphics.cmxa 确实如此。所以当然可以将使用图形库的程序编译为机器代码。您可以使用 ocamlfind
来根据您的编译模式找到合适的库。例如在我的机器上:
$ ocamlfind query -predicates native -a-format graphics
/home/ivg/.opam/fresh/lib/ocaml/graphics.cmxa
在一个简单的例子中,像这样,使用OCaml系统本身分发的图形库,你可以在编译字符串中添加graphics.cmxa
。在更复杂的情况下,只需使用 ocamlfind ocamlopt
而不是 ocamlopt
,并指定 -package
选项来引用库名称,在您的情况下它将是:
$ ocamlfind ocamlopt -package graphics ...
或者您可以使用 ocamlbuld
:
$ ocamlbuild -package graphics my_cool_application.native
您的酷应用程序在 my_cool_application.ml
文件中有一个入口点。