我制作了一个加载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
但得到了相同的错误消息。怎么了?
感谢您的回答!
答案 0 :(得分:3)
将plugins\imageformats
文件夹复制到您的应用程序目录中。
在你的main()中,添加这个
QApplication a(argc, argv);
QString sDir = QCoreApplication::applicationDirPath();
a.addLibraryPath(sDir+"/plugins");