Russian Qt Forum
Ноябрь 24, 2024, 16:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Использование плагина Gif для Мак ОСХ/(Linux?)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Использование плагина Gif для Мак ОСХ/(Linux?) (Прочитано 6525 раз)
Fonarix
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
:
Июнь 14, 2007, 20:17 »
Всем привет!!!
Возникла проблема с Qt плагином gif.
Мне необходима аппликушка которая конвертит графические форматы файлов посредством Кт.
В общем под виндой все нормально работает, но подмаком нет.
Суть в том, что gif конвертер реализован в виде плагина.
Я так понял что под маком этот плагин libqgif.dylib не находится, так
как потратил порядочно времения для этого под виндовс, и на конец заработало!
Мак так же можно рассматримать как линукс, есть решения?
Читнул инфо тут, но как вы понимаете безнадежно )
http://doc.trolltech.com/4.3/deployment-mac.html#qt-plugins
Функция QApplication::libraryPaths () возвращает действительные пути,
где все необходимые либы есть:
libqgif_debug.dylib
libqgif.dylib
libqjpeg_debug.dylib
libqjpeg.dylib
libqmng_debug.dylib
libqmng.dylib
libqsvg_debug.dylib
libqsvg.dylib
Какие есть способы использования qt.conf и необходимо ли оно?
Спасибо!!!
Записан
AlexVR
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #1 :
Июнь 14, 2007, 21:10 »
При переносе готовой программы на чистую Винду, у меня пропадали SVG-хи, помогло копирование папки imageformats из ...\qt\4.Х.Х\plugins\ в католог с exe-ой (Влом было тогда Qt перенастраивать). Может попробывать и тебе так же.
З.Ы.: К сожелению, Маки к которым я могу добраться слишком стары для Qt, да и вообще слишком стары. Так что если ответ делитантский, прошу не венить
Записан
Fonarix
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #2 :
Июнь 15, 2007, 12:16 »
Цитата: "AlexVR"
При переносе готовой программы на чистую Винду, у меня пропадали SVG-хи, помогло копирование папки imageformats из ...\qt\4.Х.Х\plugins\ в католог с exe-ой (Влом было тогда Qt перенастраивать). Может попробывать и тебе так же.
З.Ы.: К сожелению, Маки к которым я могу добраться слишком стары для Qt, да и вообще слишком стары. Так что если ответ делитантский, прошу не венить
Понапихивал в этот бандл папок imageformats, просто файлов во все папки в бандле - фанарь! Не работает! :cry:
Записан
yshurik
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #3 :
Июнь 15, 2007, 15:39 »
Цитата: "Fonarix"
Цитата: "AlexVR"
При переносе готовой программы на чистую Винду, у меня пропадали SVG-хи, помогло копирование папки imageformats из ...\qt\4.Х.Х\plugins\ в католог с exe-ой (Влом было тогда Qt перенастраивать). Может попробывать и тебе так же.
З.Ы.: К сожелению, Маки к которым я могу добраться слишком стары для Qt, да и вообще слишком стары. Так что если ответ делитантский, прошу не венить
Понапихивал в этот бандл папок imageformats, просто файлов во все папки в бандле - фанарь! Не работает! :cry:
Возможно в main.cpp засунуть
#ifdef Q_WS_MAC
QDir libDir( QCoreApplication::applicationDirPath() );
libDir.cdUp();
libDir.cd("plugins");
QApplication::addLibraryPath( libDir.absolutePath() );
libDir.cd("imageformats");
QApplication::addLibraryPath( libDir.absolutePath() );
#endif
При distribution для плугинов надо делать тоже что-то вроде
install_name_tool -change QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
install_name_tool -change QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
Как и для frameworks
Записан
Fonarix
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #4 :
Июнь 19, 2007, 10:42 »
Цитата: "yshurik"
Цитата: "Fonarix"
Цитата: "AlexVR"
При переносе готовой программы на чистую Винду, у меня пропадали SVG-хи, помогло копирование папки imageformats из ...\qt\4.Х.Х\plugins\ в католог с exe-ой (Влом было тогда Qt перенастраивать). Может попробывать и тебе так же.
З.Ы.: К сожелению, Маки к которым я могу добраться слишком стары для Qt, да и вообще слишком стары. Так что если ответ делитантский, прошу не венить
Понапихивал в этот бандл папок imageformats, просто файлов во все папки в бандле - фанарь! Не работает! :cry:
Возможно в main.cpp засунуть
#ifdef Q_WS_MAC
QDir libDir( QCoreApplication::applicationDirPath() );
libDir.cdUp();
libDir.cd("plugins");
QApplication::addLibraryPath( libDir.absolutePath() );
libDir.cd("imageformats");
QApplication::addLibraryPath( libDir.absolutePath() );
#endif
При distribution для плугинов надо делать тоже что-то вроде
install_name_tool -change QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
install_name_tool -change QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
Как и для frameworks
Попробывал не работает :cry:
Еще, перед теми строками было вставленно следуещее,
QApplication::addLibraryPath("/dev_/ImageConverter");
QApplication::addLibraryPath(QLibraryInfo::location((QLibraryInfo::PluginsPath)));
причем, в каждом из путей находилась папка imageformats с либами.
До дистрибутивов еще далеко), так как еще даже в дебаге не удалось загрузить плагин.
Мне необходимо посредством QImage открыть GIF файл и просто сохранить его как BMP и др.
По поводу install_name_tool, зачем его использовать, как я пологаю, для динамической загрузки dylib? Я его использую при дистрибуции с динамическими библиотеками при статическом связывании.
Кстати для Qt так же нашел скрипт:
http://wiki.qtcentre.org/index.php?title=Mac_OSX_Deployment_Script
Для обычних тестовых приложений вроде работает. (Но не для плагинов).
Записан
yshurik
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #5 :
Июнь 19, 2007, 11:45 »
Цитата: "Fonarix"
Цитата: "yshurik"
Цитата: "Fonarix"
Цитата: "AlexVR"
При переносе готовой программы на чистую Винду, у меня пропадали SVG-хи, помогло копирование папки imageformats из ...\qt\4.Х.Х\plugins\ в католог с exe-ой (Влом было тогда Qt перенастраивать). Может попробывать и тебе так же.
З.Ы.: К сожелению, Маки к которым я могу добраться слишком стары для Qt, да и вообще слишком стары. Так что если ответ делитантский, прошу не венить
Понапихивал в этот бандл папок imageformats, просто файлов во все папки в бандле - фанарь! Не работает! :cry:
Возможно в main.cpp засунуть
#ifdef Q_WS_MAC
QDir libDir( QCoreApplication::applicationDirPath() );
libDir.cdUp();
libDir.cd("plugins");
QApplication::addLibraryPath( libDir.absolutePath() );
libDir.cd("imageformats");
QApplication::addLibraryPath( libDir.absolutePath() );
#endif
При distribution для плугинов надо делать тоже что-то вроде
install_name_tool -change QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
install_name_tool -change QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$(DESTDIR)MyApp.app/Contents/plugins/imageformats/libqjpeg.dylib; \
Как и для frameworks
Попробывал не работает :cry:
Еще, перед теми строками было вставленно следуещее,
QApplication::addLibraryPath("/dev_/ImageConverter");
QApplication::addLibraryPath(QLibraryInfo::location((QLibraryInfo::PluginsPath)));
причем, в каждом из путей находилась папка imageformats с либами.
До дистрибутивов еще далеко), так как еще даже в дебаге не удалось загрузить плагин.
Мне необходимо посредством QImage открыть GIF файл и просто сохранить его как BMP и др.
По поводу install_name_tool, зачем его использовать, как я пологаю, для динамической загрузки dylib? Я его использую при дистрибуции с динамическими библиотеками при статическом связывании.
Кстати для Qt так же нашел скрипт:
http://wiki.qtcentre.org/index.php?title=Mac_OSX_Deployment_Script
Для обычних тестовых приложений вроде работает. (Но не для плагинов).
Должно работать. Советую проверить в qDebug() << QCoreApplication::libraryPaths ()
ps. install_name_tool нужен чтобы потом не на development машине при загрузки plugin искал qt библиотеки в @executable_path
Записан
Fonarix
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #6 :
Июнь 21, 2007, 14:30 »
libraryPaths - возвращает пути с либами и там же папка imageformats, понапихивал ее везде...
Задумываюсь о том не подключить ли прямо сырец файл плагина в проект...
Записан
yshurik
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #7 :
Июнь 21, 2007, 15:24 »
Цитата: "Fonarix"
libraryPaths - возвращает пути с либами и там же папка imageformats, понапихивал ее везде...
Задумываюсь о том не подключить ли прямо сырец файл плагина в проект...
А у вас случайно не статик сборка?
Как раз тогда плугины надо включать прямо в бинарник
Записан
goer
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #8 :
Июнь 21, 2007, 15:44 »
Я правильно понимаю: Вы собрали кути под маком, в том числе собрали и плагины под маком. Запускаете свою прогу под маком и гифы не работают?
Если так, то возможно стоит задуматься что сделано не так по сравнению со сборкой под виндой.
Папку imageformats нужно кидать в папку с бинарем проги, а не везде где только можно )
По своему опыту заметил что addLibraryPath() не работает.
Записан
Fonarix
Гость
Использование плагина Gif для Мак ОСХ/(Linux?)
«
Ответ #9 :
Июнь 21, 2007, 17:02 »
To yshurik:
Сборка с использованием динамических библиотек.
Сборки по вообще по началу небыло, так как по началу стоял пакет qt-mac-commercial-4.2.3.dmg, в нем не было Gif плагина и сырцов (во всяком случае я их не нашел...).
Затем я все откомпилил из этого пакета qt-mac-commercial-src-4.2.3.tar.gz, и теперь пытаюсь решить проблему imageformats...
Если addLibraryPath() не работает, libraryPaths() ворзвращает вполне корретные пути, которые я указывал?
Спасибо!
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...