Russian Qt Forum
Ноябрь 23, 2024, 02:16
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Мультимедиа
>
Поддержка JPEG
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Поддержка JPEG (Прочитано 12435 раз)
boruh
Гость
Поддержка JPEG
«
:
Август 05, 2009, 18:22 »
Всем доброго дня.
Софтина написана на Qt 4.5.2, возникает проблема с поддержкой JPEG. Я собирал Qt с опцией -qt-libjpeg, т.е. согласно мануалу поддержка должна быть. В папке plugins/imageformats/ лежит файл qjpeg4.dll. Я пробовал по всякому - и папку plugins записывал вместе с exe-шником, и папку imageformats записывал и одну в другую - ничего не помогает. Т.е. когда я на своей машине запускаю, где Qt установлен - все гуд, когда на машине клиента - не пашет. Раньше как-то доводилось работать с sql-плагинами - там все работало нормально, т.е. записываешь папку с dll-кой плагина туда, где лежит exe-шник - и все работало нормально.
Помогите пожалуйста, замучался с этой проблемой! Очень хочется на самом деле просто "вбилдить" эту dll-ку для поддержки джипега вообще в QtCore4.dll и не думать больше о ней, но почему-то так не получается. А очень надо!
Записан
VAP
Гость
Re: Поддержка JPEG
«
Ответ #1 :
Август 05, 2009, 20:50 »
У меня была такая же проблема, при переходе из Qt4.4.0 на 4.4.3, я ее даже на форуме подымал. Для себя решил просто - использовал jpeg.dll от предыдущей версии Qt4.4.0
Записан
boruh
Гость
Re: Поддержка JPEG
«
Ответ #2 :
Август 05, 2009, 22:59 »
И что, это помогло?
Мы до этого использовали 4.3.3, но насколько я помню там тоже была та же самая проблема. Как я уже сказал, самое большое желание - это встроить поддержку джипега вообще в какой-нибудь QtCore, возможно ли это? Еще есть при сборке Qt опция что-то типа "use system JPEG support" или что-то подобное. КТо-нибудь знает что это означает, что это дает?
Записан
Vexator
Гость
Re: Поддержка JPEG
«
Ответ #3 :
Август 06, 2009, 02:14 »
Qt 4.2.3 просто креплю папку /imageformats в каталог к exe
и jpeg так же как и gif и др. пашет норм.
ну и dll ки, основные тоже
Записан
BaltikS
Гость
Re: Поддержка JPEG
«
Ответ #4 :
Август 06, 2009, 05:27 »
В 4.5.2 тоже проблем нет...
Записан
boruh
Гость
Re: Поддержка JPEG
«
Ответ #5 :
Август 07, 2009, 10:16 »
А в Висте пробовали? В Висте работает?
Записан
loMaster
Гость
Re: Поддержка JPEG
«
Ответ #6 :
Ноябрь 17, 2009, 11:18 »
Добрый день. Несколько аналогичная проблема, потому пишу здесь. Нужно написать приложение, работающее с JPEG под несколькими осями. Скачал инсталляторы с сайта QT, поставил. под виндой все работает. Чтобы запустить приложение на машине без установленной QT оказалось достаточно скопировать несколько библиотечек. C маком все гораздо сложнее. На машине с установленной QT все работает. На других нет. Что откуда взять я так и не понял. Попробовал скачать исходники и скомпилировать QT с поддержкой статических либ.
./configure -prefix /Developer/Qt -qt-zlib -qt-libpng -qt-libjpeg -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk -static -release
размер откомпилированного приложения стал примерно равен размеру приложения со всеми необходимыми библиотеками под виндой, приложение запускается на маке без QT и даже под другой ОС, процессором(компилируется под 10.4, PowerPC, проверялось уже на макбуке под леопардом) однако jpeg картинки не открываются (даже на тестовом маке с установленной QT).
банально ничего не происходит
QImage sIm;
sIm.load( fileName ); возвращает нулл
в папке plugins/imageformats/ есть файлик libqjpeg.a Попробовал его напрямую прикрутить к приложению (подправив Makefile) не помогло.
Сейчас попробую прикрутить системную поддержку JPEG. может, поможет. Хотя мак, который нам выделили для экспериментов жутко тормозной. make для QT выполняется часов 6, если не больше.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Поддержка JPEG
«
Ответ #7 :
Ноябрь 17, 2009, 11:23 »
поищи по форуму, возможно в разделе мака, кто-то клал ссылку на документацию как развертывать под мак. Также вбей в ассистанте что-нибудь типа deploy on mac. Там надо фреймфорки кидать в .app, если я правильно помню. А плагины 100% кидаются в *.app/contens/MacOS/imageformats как и в винде
added: вот, нашел
http://www.prog.org.ru/topic_9461_0.html
«
Последнее редактирование: Ноябрь 17, 2009, 11:24 от Авварон
»
Записан
Sergey B.
Программист
Offline
Сообщений: 544
Re: Поддержка JPEG
«
Ответ #8 :
Ноябрь 17, 2009, 11:47 »
На windows
положить папку imageformats в каталог с exe файлом.
Записан
loMaster
Гость
Re: Поддержка JPEG
«
Ответ #9 :
Ноябрь 17, 2009, 12:48 »
Цитата: Авварон от Ноябрь 17, 2009, 11:23
А плагины 100% кидаются в *.app/contens/MacOS/imageformats как и в винде
added: вот, нашел
http://www.prog.org.ru/topic_9461_0.html
Попробовал фреймворк кинуть. Один только QtGui весит 160Мб. имхо многовато.
Так-же попробовал плагины засунуть. Понапихал куда только можно, не прокатило. Сейчас жду, когда отработает мейк с -system-jpeg. посмотрим. может это что-то даст.
Под виндой для запуска приложения понадобились только QtCore4.dll, QtGui4.dll, QtXml4.dll, mingwm10.dll. никакие плагины не нужны. на все про все 16Мб. (в дебаг компиляции уже другие либы и там да.. за сотню)
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Поддержка JPEG
«
Ответ #10 :
Ноябрь 17, 2009, 14:39 »
160 метров это дебаг скорее всего... нужно смотреть, где-то есть и те и те библиотеки, надой найти:) Мне самому предстоит в скорости делать сборку программы, но уж очень не хочется юзать статику, так что отпишись, если результаты будут
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Поддержка JPEG
«
Ответ #11 :
Ноябрь 17, 2009, 16:21 »
Цитата: boruh от Август 05, 2009, 22:59
Еще есть при сборке Qt опция что-то типа "use system JPEG support" или что-то подобное. КТо-нибудь знает что это означает, что это дает?
Image плагин будет использовать системную libjpeg вместо встроенной в Qt.
Записан
mycoding
Гость
Re: Поддержка JPEG
«
Ответ #12 :
Декабрь 13, 2009, 21:09 »
Ребята у меня тоже штука, на моём компе пашет, на другом где нет qt нет. я даже пробовал ставить qt другой версии, и пришёл к выводу
в какой версии откомпилил, такая должна быть на другом компе.
Меня интерисует винда. Подскажите, я тоже папку plugins а в ней imageformats а в ней qjpeg4.dll делал, но не пашет...
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Поддержка JPEG
«
Ответ #13 :
Декабрь 13, 2009, 22:03 »
Цитата: mycoding от Декабрь 13, 2009, 21:09
Ребята у меня тоже штука, на моём компе пашет, на другом где нет qt нет. я даже пробовал ставить qt другой версии, и пришёл к выводу
в какой версии откомпилил, такая должна быть на другом компе.
Меня интерисует винда. Подскажите, я тоже папку plugins а в ней imageformats а в ней qjpeg4.dll делал, но не пашет...
1) Естественно что надо использовать dll той же версии иначе можно нарваться на большие проблемы
2) сталкивался с проблемой подобной вашей - нашел 100% верное решение - но возмолжно оно не очень удобно - надо папку imageformats с нужными dll разметсить именно там где она было на той машине на которой компилялось - тогда все будет работать - всякие подкидывания в системные папки и рядос с exeшником мне не помогали!, а это работает.
Записан
crossly
Гость
Re: Поддержка JPEG
«
Ответ #14 :
Декабрь 18, 2009, 14:49 »
The search path for Qt plugins is hard-coded into the QtCore library. By default, the plugins subdirectory of the Qt installation is the first plugin search path. However, pre-determined paths like the default one have certain disadvantages. For example, they may not exist on the target machine. For that reason, you need to examine various alternatives to make sure that the Qt plugins are found:
Using qt.conf. This approach is the recommended if you have executables in different places sharing the same plugins.
Using QApplication::addLibraryPath() or QApplication::setLibraryPaths(). This approach is recommended if you only have one executable that will use the plugin.
Using a third party installation utility to change the hard-coded paths in the QtCore library.
If you add a custom path using QApplication::addLibraryPath it could look like this:
qApp->addLibraryPath("C:/customPath/plugins");
Then qApp->libraryPaths() would return something like this:
"C:/customPath/plugins " "C:/Qt/4.5.3/plugins" "E:/myApplication/directory/"
The executable will look for the plugins in these directories and the same order as the QStringList returned by qApp->libraryPaths(). The newly added path is prepended to the qApp->libraryPaths() which means that it will be searched through first. However, if you use qApp->setLibraryPaths(), you will be able to determend which paths and in which order they will be searched.
The How to Create Qt Plugins document outlines the issues you need to pay attention to when building and deploying plugins for Qt applications.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...