在我的应用程序中包含jpeg插件

时间:2011-07-17 14:52:41

标签: qt plugins jpeg

我制作了一个加载jpeg文件的Qt GUI应用程序。在我安装了QtSDK(4.7.3)的开发系统(Win7)上,它可以工作。 当我将应用程序和一些必需的dll(如QtGui4.dll和其他)移动到另一个未安装QtSDK的系统时,程序会执行,但无法加载jpeg。 我读过,我必须添加jpeg插件,但我不知道如何。

我已经在main.cpp中尝试了这个:

Q_IMPORT_PLUGIN(qjpeg);

与我的项目文件一起:

QTPLUGIN += qjpeg

但是我得到了错误:

cannot find -lqjpegd

我不在乎是否以动态或静态方式包含此插件。我只需要我的应用程序在其他系统上工作。我更喜欢简单的方式。我尝试的是静态方式,对吗?我怎样才能将它作为dll文件包含在我的应用程序中? 我也检查了我的

mingw\plugins\imageformats

目录,确实没有qjpeg.dll。但是有:

qjpeg4.dll qjpegd4.dll libqjpeg4.a

比我尝试过:

Q_IMPORT_PLUGIN(qjpeg4);
QTPLUGIN += qjpeg4

但得到了相同的错误消息。怎么了?

感谢您的回答!

1 个答案:

答案 0 :(得分:3)

plugins\imageformats文件夹复制到您的应用程序目录中。 在你的main()中,添加这个

QApplication a(argc, argv);
QString sDir = QCoreApplication::applicationDirPath();
a.addLibraryPath(sDir+"/plugins");