简体   繁体   中英

OCaml - Cannot find graphics.cma

When loading the Graphics module in the toplevel, I get an error saying "Cannot find graphics.cma".

I'm using OS X and I'm pretty sure I've installed OCaml correctly since I've been using it for about a month now. So it seems that the Graphics module wasn't included in the OCaml package.

How can I fix this issue, or how can I install the Graphics module myself?

First of all, check Graphics is really installed. This library is optional and therefore it may not be installed. There are several ways to check but the following should work for any situation:

$ ls `ocamlc -where`/graphics*

If there is no file listed by the above command, Graphics is not installed and you have to reinstall OCaml compiler enabling Graphics.

If files like graphics.cma are there, then you have to show us how you try to compile your code with Graphics. The best answer varies depending on how you compile: inside toplevel, hand compiling with ocamlc, or with some build tool like ocamlbuild.

The solution mostly depends on how are you compiling. If you're using ocamlbuild tool, the the following would be sufficient:

ocamlbuild -use-ocamlfind -pkg graphics my_program.native

Where my_program.native is your target. Note, you can try to omit the -use-ocamlfind flag.

In order to bring graphics to your toplevel, the easiest solution would be to use topfind:

# #use "topfind";;
# #require "graphics";;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM