【发布时间】:2013-11-17 18:03:32
【问题描述】:
我正在尝试将 *.jpg 图像加载到 Gdk:: Pixbuf 中,但它失败并一直告诉我:错误解释 JPEG 图像文件(错误的 JPEG 库版本:库为 62,调用者期望为 80)
try{
Gdk::Pixbuf::create_from_file(".../Test.jpg");
}
catch(const Glib::FileError& ex) {
std::cerr << "FileError: " << ex.what() << std::endl;
}
catch(const Gdk::PixbufError& ex) {
std::cerr << "PixbufError: " << ex.what() << std::endl;
}
唯一安装的版本是 libjpeg8 和 libjpeg8-dev
我在加载 .png 图像时遇到了类似的问题:GdkPixbuf-WARNING *:错误! gdk-pixbuf loader 'png' 没有在失败时设置错误。 PixbufError: 无法加载图像'.../Test.png': 原因未知,可能是图像文件损坏
libpng 版本为 12-dev 和 12-0
关于如何解决这个问题的任何想法?
【问题讨论】:
-
这是一个 Unbuntu(或基于 debian 的系统)吗?
libjpeg-turbo也安装了吗?ls /usr/lib/libjpeg*的输出是什么? -
我使用的是 Ubuntu 13.10,并且安装了 libjpeg-turbo8 和 libjpeg-turbo8-dev。 ls /usr/lib/libjpeg* 没有列出任何内容,但是 ls /usr/lib/x86_64-linux-gnu/libjpeg* 列出了,并且它说: /usr/lib/x86_64-linux-gnu/libjpeg.a /usr /lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libjpeg.so.8 /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2