Отображение изображения в формате JPG с помощью Qt не работает с исполняемым файлом релиза

У меня раздражает проблема с отображением изображений JPG с QT. Я использую Visual Studio 2008 в Windows 7 и использую Qt версии 4.8.2. Теперь я опишу свою проблему с помощью примера «collidingmice», поставляемого с Qt (../examples/graphicsview/collidingmice).

Я могу построить этот пример с помощью Visual Studio IDE или с помощью командной строки Visual Studio. В этом примере jpg используется в качестве фона и правильно отображается, когда я выполняю исполняемый файл отладки. Но в сборке релиза этот фон jpg не показан.

Я уже понял, что Qt использует плагины для загрузки / показа разных изображений. Поэтому я скопировал содержимое папки плагина Qt в каталог приложения (где находится collidingmice.exe). К сожалению, это не решает проблему.

Поэтому я подумал, что что-то не так с сборкой Qt и библиотекой jpeg. Поэтому я перенастроил Qt, выполнив следующие команды в командной строке Visual Studio:

nmake distclean
configure -debug-and-release -opensource -platform win32-msvc2008 -qt-libjpeg -no-webkit
nmake

После этого сделал перестройку примера, но снова изображение jpg не показывается. Я не уверен, в чем проблема, так как это работает в отладочной сборке и в выпуске, я думаю, что мне нужно только доставить необходимые плагины DLL. Но, очевидно, я не прав.

Я надеюсь, что кто-нибудь может мне помочь или подсказать, где может быть проблема. Спасибо!

4

Решение

Поэтому я скопировал содержимое папки плагина Qt в
каталог приложения (где находится collidingmice.exe).

Вам необходимо поместить плагины в подкаталог «imageformats», например, лайк

bin
├── collidingmice.exe
└── imageformats
├── qjpeg4.dll
├ ...

Смотрите также http://www.qtcentre.org/threads/46927-Location-of-imageformats-directory


Оказалось, что OP уже настроил структуру каталогов соответственно. Основной причиной было то, что был загружен неправильный QtGui4.dll. Это можно исправить «путем копирования библиотеки DLL непосредственно в каталог приложения или путем изменения порядка путей в переменной среды PATH, чтобы каталог Qt bin был расположен перед всеми другими путями, содержащими QtGui4.dll.»

В любом случае, Монитор процесса хороший инструмент для отслеживания таких проблем.

7

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector