我的系统是3.11.0-24-generic #41-Ubuntu SMP Mon Jun 9 20:36:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
我成功安装了camlimages。
然后我举了例子:
let () =
let img = Rgb24.create 1 1 in
Rgb24.set img 0 0 { Color.r = 255; g = 0; b = 0 };
Jpeg.save "sample.jpg" [] (Images.Rgb24 img)
然后我用了
ocamlbuild -use-ocamlfind -package camlimages -package camlimages.jpeg test.native
进行编译,也是成功的。
最后,当我尝试运行./test.native
时,它说
Fatal error: exception Failure("unsupported")
为什么呢?怎么解决?
顺便说一下,在我使用opam安装后,它没有给出任何错误但是如果我尝试-package camlimages.all
,那么它说我没有camlimages.freetype
,为什么?
我做了ocamlfind list | grep camlimages
,它显示:
camlimages (version: 4.1.1)
camlimages.all (version: 4.1.1)
camlimages.all_formats (version: 4.1.1)
camlimages.core (version: 4.1.1)
camlimages.exif (version: 4.1.1)
camlimages.gif (version: 4.1.1)
camlimages.graphics (version: 4.1.1)
camlimages.jpeg (version: 4.1.1)
camlimages.png (version: 4.1.1)
camlimages.ps (version: 4.1.1)
camlimages.tiff (version: 4.1.1)
camlimages.xpm (version: 4.1.1)
打开调试后,现在显示
Raised by primitive operation at file "jpeg.ml", line 152, characters 6-308
Called from file "test.ml", line 5, characters 2-46
答案 0 :(得分:2)
camlimages
有许多不同的文件类型,它们都是可选的。在从opam安装camlimages之前,您必须安装它们。从ubuntu存储库中,您可以安装以下内容,
libpng12-dev libjpeg-dev libtiff-dev libxpm-dev libfreetype6-dev libgif-dev
OPAM有一个新的depext字段,但我想它还没有更新为camlimages - 或者可能不合适,因为这些是可选包。您可以在gsl opam文件中查看此示例。