отображение иконок в Windows 7 и Windows XP, проблема с отббражением в XP |
Здравствуйте, гость ( Вход | Регистрация )
отображение иконок в Windows 7 и Windows XP, проблема с отббражением в XP |
Physicist |
4.5.2010, 20:25
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
Доброго времени суток!
Столкнулся с проблемой: не отображаются иконки (на кнопочках, в шапке окна и т.д...) при запуске в Windows XP. Изначально проект компилировался в VS2008 под Windows 7 x64. Иконки храню как ресурсы. Под семеркой все отлично отображается, запуская из любой папки... Вообщем создал простой проект: QMainWindow в который помещен QLabel. У QMainWindow иконку устанавливаю из ресурсов, а у QLabel pixmap устанавливаю из внешнего файла (ico). После того как откомпилил (по Windows 7) все нормально отображается. Затем скопировал исполняемый модуль, необходимые dll и файл с иконкой в отдельную папку... И снова все работает прекрасно! Далее, копирую эту самую папку в голую Windows XP... запускаю... в итоге - иконки не отображаются!!! (Пробывал и под Windows XP x64 и под Windows XP x86) В чем дело никак не пойму... Сам раньше работал с Qt3 и с подобными проблемами не сталкивался... Вот код test.ui:
test.qrc:
содержимое папки для запуска в Windows XP:
Быть может кто-нить сталкивался с подобной проблемой? Прилагаю проект под VS2008 и ту самую папку "portable" версии для windows XP: проект под VS 2008 содержимое папки для запуска под windowsXP Заранее огромное спасибо за помощь! |
|
|
Litkevich Yuriy |
4.5.2010, 22:52
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
необходимые dll а подключаемые модули (plugins) Qt, для форматов изображений не взял?(смотри Развертывание приложений Qt в MS Windows) |
|
|
Physicist |
5.5.2010, 0:03
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
необходимые dll а подключаемые модули (plugins) Qt, для форматов изображений не взял?(смотри Развертывание приложений Qt в MS Windows) да, действительно, лоханулся... Скопировал папку imageformats в каталог, где лежит исполняемый модуль. Но почему-то Не появились картинки в прилодении ((( В реестре появилась строчка: HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.6.debug\C:\inbox2\test\imageformats в котором куча ключей, в том числе: qicod4.dll со значением: 40602 1 Windows msvc debug full-config 2010-02-10T19:46:32 Т.е. как я понимаю, Qt находит этот плагин... но почему-то не цепляет его ((( |
|
|
Physicist |
5.5.2010, 19:18
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
сегодня запустил на машине, на которой установлена VS2008 и нет Qt..
Все прекрасно отобразилось! мне кажется здесь что-то со связкой: plugins - mcvs runtime libs может я не те либы цепляю? (хотя exe ж запускается.. ) Да, еще: я попробывал такой вариант: скопировал всю папку Qt как было на машине Windows 7 - в таком же виде на win XP и указал путь в переменной Path. Убрал Qt-библиотеки из каталога с exe-файлом, и запустил прогу... На что вылезла непонятная ошибка ... что-то там по адресу... (не помню точно, если важно - воспроизведу еще раз) Мистика... |
|
|
Litkevich Yuriy |
5.5.2010, 19:39
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Physicist |
5.5.2010, 20:39
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
|
|
|
Physicist |
6.5.2010, 9:53
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
наткнулся на статью: http://doc.crossplatform.ru/qt/4.3.2/deployment-windows.html
Согласно ей: Цитата Для связывания библиотек времени выполнения с вашим приложением скопируйте каталог <Visual Studio Install Path>\VC\redist\<Architecture>\Microsoft.VC80.CRT в каталог с вашим исполняемым файлом, так что вы включили каталог Microsoft.VC80.CRT поблизости от исполняемого файла вашего приложения. Если связали библиотеки времени выполнения и к том уже нужно развернуть подключаемые модули, то из подключаемых модулей вам нужно удалить манифест (встроенный как ресурс) добавив это в pro-файл подключаемых модулей, которые вы компилируете: CONFIG-=embed_manifest_dll Если этого не сделать подключаемые модули нельзя будет загрузить на некоторых системах. Одно не пойму, получается в данном случае мне нужно пересобрать плагины imageformats заново, прописав в их pro-файлах строчку CONFIG-=embed_manifest_ddll ? И вообще это мой случай? |
|
|
Litkevich Yuriy |
6.5.2010, 10:49
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Physicist |
7.5.2010, 2:43
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
пересобрать плагины imageformats заново здесь идёт речь о собственных плагинах. Иначеб никто не взялся бы использовать Qt со Студийным компилером, слишком много ручной работыну.. Qt3.3.3 ж приходилось целиком компилить... ниче, терпимо ) проблему решил: пересобрал плагин для иконок, добавив в pro-файл строчку: CONFIG-=embed_manifest_dll. После этого сформировал папку как описал в предыдущих постах Осталось теперь понять, что за зверь этот такой (в чем его суть) - манифест =) А так.. заработало! ) Как и описывалось в том документе, если тащить в локальный каталог CRT либы, то надо пересобрать плагин (все же получается что тут имелся ввиду в том числе и плагин qt), а вот второй способ - установка VS 2008 redist у меня так и не проканал... |
|
|
Physicist |
7.5.2010, 23:52
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.5.2010 Пользователь №: 1688 Спасибо сказали: 1 раз(а) Репутация: 0 |
Получилось и с VS2008 redist.
release версия проканала! ) |
|
|
Текстовая версия | Сейчас: 1.12.2024, 22:48 |