我有一个Qt应用程序,它有一些我想要显示的嵌入式JPG文件。当我在我的机器上编译并运行调试和发布版本时,一切都运行良好。当我将应用程序复制到拇指驱动器并从我的机器上运行它时,它工作正常。在拇指驱动器和另一个开发人员的机器上:好的。在第三个非开发人员的机器上的拇指驱动器上:无图像!
proj.pri
RESOURCES += ./proj.qrc
proj.qrc:
<RCC>
<qresource prefix="/myApp">
<file>Gui/Resources/logo.jpg</file>
<file>Gui/Resources/another_image.jpg</file>
</qresource>
</RCC>
main.cpp:
{
...
QImage *logo = new QImage( ":/myApp/Gui/Resources/logo.jpg" );
QImage *image = new QImage( ":/myApp/Gui/Resources/another_image.jpg" );
myClass *d1 = new myClass( "Some Text", 48, 30, logo );
myClass *d2 = new myClass( "Some More Text", 48, 30, another_image );
...
}
我已经确认通过注释掉.pri文件中的RESOURCES行将图像添加到可执行文件中。二进制文件的大小会随图像的大小加一点而下降;当我运行应用程序时,图像不会出现。我取消对资源线的评论,一切都按上述方式运作。
我在这里缺少什么?非开发人员机器上的DLL?一个
环境:
答案 0 :(得分:11)
需要jpeg插件才能加载图片。如果你安装了Qt,它们将在%QTDIR%\ plugins \ imageformats中。
将qjpeg4.dll复制到拇指驱动器上的插件文件夹中。
root/app.exe
root/qt.conf
root/plugins/imageformats/qjpeg4.dll
在qt.conf文件中设置插件的路径dir:
[Paths]
plugins=./plugins
答案 1 :(得分:0)
虽然给出了最准确的答案already,而不是必须部署更多的dll和文件夹结构,我发现将图像转换为png更容易...没有图像格式dll等需要如果你使用pngs。