У меня есть спокойное приложение, которое имеет, некоторые встроили файлы 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 файле. Размер двоичного файла отбрасывает размером изображений плюс немного; когда я запускаю приложение, изображения не появляются. Я некомментирую строку РЕСУРСОВ, и все работает, как описано выше.
Что я пропускаю здесь? DLL на машине неразработчика? A
Среда:
Для загрузки изображений требуется плагин jpeg. Если у вас установлен Qt, они будут в% QTDIR% \ plugins \ imageformats.
Скопируйте qjpeg4.dll в папку плагинов на флэш-накопителе.
root/app.exe
root/qt.conf
root/plugins/imageformats/qjpeg4.dll
В файле qt.conf укажите путь к каталогу ваших плагинов:
[Paths]
plugins=./plugins