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
Если это так, попробуйте удалить этот пакет и повторите попытку.
Это помогло?