Gdk::Pixbuf не загружает изображения

Я пытаюсь загрузить изображение *.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 'png' не установил ошибку при сбое. PixbufError: Не удалось загрузить изображение '.../Test.png': причина неизвестна, возможно, поврежден файл изображения

Версии libpng 12-dev и 12-0

Есть идеи, как это исправить?

2 ответа

Имя файла выглядит странно, есть одна точка, чем ожидалось. Используйте "../Test.jpg" вместо ".../Test.jpg".

И проверьте, что ваш файл действительно является jpeg, а не png, переименованным в jpeg. file ../Test.jpg должен сказать вам это.

Просто чтобы убедиться, можете ли вы опубликовать результат:

dpkg -l | grep libjpeg

Кроме того, у вас установлена ​​библиотека freeimage?

dpkg -l | grep libfreeimage

Если это так, попробуйте удалить этот пакет и повторите попытку.

Это помогло?

Другие вопросы по тегам