camlimages - 致命错误:异常失败("不支持")

时间:2014-07-17 13:47:06

标签: ocaml

我的系统是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

1 个答案:

答案 0 :(得分:2)

camlimages有许多不同的文件类型,它们都是可选的。在从opam安装camlimages之前,您必须安装它们。从ubuntu存储库中,您可以安装以下内容,

libpng12-dev libjpeg-dev libtiff-dev libxpm-dev libfreetype6-dev libgif-dev

OPAM有一个新的depext字段,但我想它还没有更新为camlimages - 或者可能不合适,因为这些是可选包。您可以在gsl opam文件中查看此示例。