У меня раздражает проблема с отображением изображений 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. Но, очевидно, я не прав.
Я надеюсь, что кто-нибудь может мне помочь или подсказать, где может быть проблема. Спасибо!
Поэтому я скопировал содержимое папки плагина 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.»
В любом случае, Монитор процесса хороший инструмент для отслеживания таких проблем.
Других решений пока нет …