Не отображаются картинки на пк, где не установлен Qt |
Здравствуйте, гость ( Вход | Регистрация )
Не отображаются картинки на пк, где не установлен Qt |
MishaUA |
12.7.2013, 12:43
Сообщение
#1
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Вобщем, есть такой код:
на label выводится gif в виде анимации, на label2 та же gif, но как картинка, на label3 выводится jpeg как картинка. Проблема в том, что у меня все работает отлично, в вот на пк, где не установлен Qt ниодна графика не отображается. На пк без Qt в папке с программой лежат такие библиотеки: Какие еще dll нужно добавить? PS: Qt5 |
|
|
MishaUA |
12.7.2013, 15:00
Сообщение
#2
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Насколько я понял, стандартными методами отображаются только BMP и PNG, для остальных нужны плагины с папки Qt, я поместил папку plugins в папку с программой, и с main.cpp сделал так:
Теперь, если я у себя на пк запускаю - работает нормально, если удалю папку plugins, то картинки не отображаются, именно так и должно быть. Но при запуске на пк без Qt появилась ошибка runtime error. Что я сделал не так? |
|
|
Litkevich Yuriy |
12.7.2013, 16:19
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
MishaUA |
12.7.2013, 18:58
Сообщение
#4
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
сделал, как написано по ссылке:
Раскрывающийся текст Копирование плагинов в каталог с программой Как сказано в Асистенте (plugins-howto.html) « Когда приложение запущено, Qt сначала просматривает каталог исполняемого файла приложения в качестве pluginsbase. Например, если приложение находится в C:\Program Files\MyApp и имеет подключаемый модуль стиля, Qt будет искать в C:\Program Files\MyApp\styles. » Другими словами, каталоги плагинов Qt (например, imageformats или sqldrivers) необходимо скопировать в каталог, где расположен исполняемый фал приложения/ но не помогло - картинки не отображаются(кроме bmp и png). Кстати, Если скопировать эти плагины в папку с программой, на которой есть Qt, то картинки так же перестают работать |
|
|
MishaUA |
12.7.2013, 19:41
Сообщение
#5
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
а можно ли с помощью какого нить софта узнать, какие dll требует прога?
|
|
|
ilyabvt |
12.7.2013, 20:29
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Есть, например: Dependency Walker
|
|
|
MishaUA |
13.7.2013, 12:48
Сообщение
#7
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Такс, вобщем, после тщательного поиска в инете выяснилось, что в VisualStudio нужно добавить опцию компиляции -no-plugin-manifests, Но Qt Creator такого не поддерживает (делал в .pro файле QMAKE_CXXFLAGS += -no-pluginsб но компилер сказал, что не знает такого). Как эта опция пишется в Qt Creator?
|
|
|
Litkevich Yuriy |
13.7.2013, 23:20
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Как эта опция пишется в Qt Creator? Qt Creator - всего лишь IDE, она вообще ничего не поддерживает. Ключи компиляции может поддерживать только компилятор. Для MinGW в таком ключе нужды нет (он его не знает).Кстати, Если скопировать эти плагины в папку с программой, на которой есть Qt, то картинки так же перестают работать плагины или их каталог? |
|
|
MishaUA |
14.7.2013, 1:09
Сообщение
#9
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
уже разобрался с проблемой - скопировал папку plugins и все dll с папки bin - заработало! Затем, удалил не нужные dll
|
|
|
Текстовая версия | Сейчас: 24.11.2024, 9:16 |