在发布版本中使用QImage读取Jpeg错误

Jpeg read errors using QImage in release builds

本文关键字:QImage 读取 错误 Jpeg 布版本 版本      更新时间:2023-10-16

在尝试加载jpeg图像时,是否有人遇到过使用Qt和QImage的类加载方法的问题?使用QtCreator在调试模式下加载工作完美,但在构建应用程序并在发布模式下运行时试图加载相同的jpeg图像时完全失败。

QImage myImage;
QString s = QDir().toNativeSeparators(QFileDialog::getOpenFileName(this, QString("Import Image...")));
if ( !myImage.load(s) ) {
    QMessageBox msgBox;
    msgBox.setWindowTitle(this->windowTitle());
    msgBox.setWindowIcon(this->windowIcon());
    msgBox.setIcon(QMessageBox::Information);
    msgBox.setText("Image could not be loaded.");
    msgBox.exec();
    return;
}

我已经得出结论,我可能错过了一个特定的动态链接库,但无法预见它将是哪一个。请注意,在发布模式下,我仍然可以处理PNG图像。

将imageplugins(或imageformats)文件夹添加到构建中。使用jpg需要libjpeg.dll可用于可执行文件。在Qt安装目录下查找所需的文件。

可能在PATH环境变量中找不到应用程序所需的某个dll。您可以使用Dependency Walker来发现哪些dll丢失了。