我正在尝试将 *.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警告*:错误! gdk-pixbuf 加载器"png"在失败时没有设置错误。Pixbuf错误:无法加载图像".../测试.png":原因未知,可能是损坏的图像文件
libpng 版本是 12-dev 和 12-0
关于如何解决这个问题的任何想法?
只是真的为了确保,你能发布以下结果吗:
dpkg -l | grep libjpeg
除此之外,您是否安装了免费图像库?
dpkg -l | grep libfreeimage
如果是这样,请尝试删除此包并重试您的代码。
这有帮助吗?
文件名看起来很奇怪,比预期的要多一点。使用"../Test.jpg"而不是".../Test.jpg"。
并检查您的文件是否真的是 jpeg 而不是重命名为 jpeg 的 png。 file ../Test.jpg
应该告诉你。