Я пытаюсь загрузить изображение * .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
Есть идеи, как это исправить?
Просто чтобы убедиться, можете ли вы опубликовать результат:
dpkg -l | grep libjpeg
Кроме того, у вас установлена библиотека freeimage?
dpkg -l | grep libfreeimage
Если это так, попробуйте удалить этот пакет и повторите код.
Это помогло?
Имя файла выглядит странно, есть одна точка, чем ожидалось.
Используйте «../Test.jpg» вместо «… / Test.jpg».
И проверьте свой файл действительно является JPEG, а не PNG переименован в JPEG. file ../Test.jpg
должен сказать вам это.