У меня есть приложение 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 );
...
}
Я подтвердил, что изображения добавляются в исполняемый файл, закомментировав строку RESOURCES в файле .pri. Размер двоичного файла уменьшается на размер изображения плюс немного; когда я запускаю приложение, изображения не появляются. Я не комментирую строку RESOURCES, и все работает как описано выше.
Что мне здесь не хватает? DLL на машине не разработчика? A
Окружающая среда :
- Win XP
- Qt 4.6.1
- Visual Studio 2008
- Qt Creator 1.3.1