Gdk :: Pixbuf不加载图片

时间:2013-11-06 13:17:38

标签: c++ gtk gdk gdkpixbuf

我正在尝试将* .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

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

真的要确定,你能否发布结果:

dpkg -l | grep libjpeg

除此之外,您是否安装了freeimage库?

dpkg -l | grep libfreeimage

如果有,请尝试删除此软件包并再次尝试使用您的代码。

这有帮助吗?

答案 1 :(得分:0)

文件名看起来很奇怪,比预期的还要多一点。 使用“../Test.jpg”而不是“... / Test.jpg”。

检查你的文件确实 是一个jpeg而不是一个重命名为jpeg的png。 file ../Test.jpg应该告诉你。