Russian Qt Forum
Ноябрь 22, 2024, 23:38
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
статическая компиляция QT ???
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: статическая компиляция QT ??? (Прочитано 13938 раз)
allco
Гость
статическая компиляция QT ???
«
:
Июль 21, 2006, 20:18 »
как это сделать ???
как закомпилить qt статически под Windows ???
Помогите плиз !!!
Записан
Alexei
Гость
статическая компиляция QT ???
«
Ответ #1 :
Июль 22, 2006, 11:17 »
Надо в командной строке configure.exe указать -static
Например, я использую следущую команду для сборки статической Qt:
configure.exe -debug-and-release -static -plugin-sql-mysql -plugin-sql-oci -qt-zlib -no-gif -qt-libpng -no-libmng -qt-libjpeg -no-qt3support
Записан
L.Marvell
Гость
статическая компиляция QT ???
«
Ответ #2 :
Июль 22, 2006, 11:41 »
Цитата: "Alexei"
Надо в командной строке configure.exe указать -static
Например, я использую следущую команду для сборки статической Qt:
configure.exe -debug-and-release -static -plugin-sql-mysql -plugin-sql-oci -qt-zlib -no-gif -qt-libpng -no-libmng -qt-libjpeg -no-qt3support
-plugin-sql-mysql? В статической версии плагины же вроде как не работают? Сам не проверял, но вроде слышал такое.
Записан
noosooth
Гость
статическая компиляция QT ???
«
Ответ #3 :
Июль 22, 2006, 12:49 »
Цитата: "L.Marvell"
[-plugin-sql-mysql? В статической версии плагины же вроде как не работают? Сам не проверял, но вроде слышал такое.
Это есть не совсем так.
Насколько я понимаю, начиная с версии 4.1, в Qt появились т.н. статические плагины.
Посмотрите в Assistant макрос Q_IMPORT_PLUGIN и там же ссылочка на
Static Plugins.
С SQL драйверами я таким образом не работал, но по крайней мере графические плагины (GIF, JPEG и MNG) - прекрасно собираются в отдельные статические библиотеки.
Записан
L.Marvell
Гость
статическая компиляция QT ???
«
Ответ #4 :
Июль 22, 2006, 13:20 »
Цитата: "noosooth"
Цитата: "L.Marvell"
[-plugin-sql-mysql? В статической версии плагины же вроде как не работают? Сам не проверял, но вроде слышал такое.
Это есть не совсем так.
Насколько я понимаю, начиная с версии 4.1, в Qt появились т.н. статические плагины.
Посмотрите в Assistant макрос Q_IMPORT_PLUGIN и там же ссылочка на
Static Plugins.
С SQL драйверами я таким образом не работал, но по крайней мере графические плагины (GIF, JPEG и MNG) - прекрасно собираются в отдельные статические библиотеки.
Интересно. Почитаем.
Сколько места отъедает статически собранная кт? А то вот поставил собираться, а теперь думаю хватит, не хватит...
Записан
noosooth
Гость
статическая компиляция QT ???
«
Ответ #5 :
Июль 22, 2006, 14:06 »
Цитата: "L.Marvell"
Сколько места отъедает статически собранная кт? А то вот поставил собираться, а теперь думаю хватит, не хватит...
Тут мне сложно ответить, т.к. работаю в основном с динамической версией,
а статическую собираю в отдельном каталоге и только release.
(configure -release -static -qt-gif -qt-libpng -qt-libmng -qt-libjpeg)
Собираю компилятором от VS2005, причем только исходники (без еxamples, demos и tools).
Вдобавок в mkspecs\win32-msvc2005\qmake.conf я
включил оптимизацию по скорости и статически подлинковался с плюсовым runtime.
Весит это дело у меня в районе 289 метров.
Записан
L.Marvell
Гость
статическая компиляция QT ???
«
Ответ #6 :
Июль 22, 2006, 14:32 »
Цитата: "noosooth"
Цитата: "L.Marvell"
Сколько места отъедает статически собранная кт? А то вот поставил собираться, а теперь думаю хватит, не хватит...
Тут мне сложно ответить, т.к. работаю в основном с динамической версией,
а статическую собираю в отдельном каталоге и только release.
(configure -release -static -qt-gif -qt-libpng -qt-libmng -qt-libjpeg)
Собираю компилятором от VS2005, причем только исходники (без еxamples, demos и tools).
Вдобавок в mkspecs\win32-msvc2005\qmake.conf я
включил оптимизацию по скорости и статически подлинковался с плюсовым runtime.
Весит это дело у меня в районе 289 метров.
Вот заодно и спрошу. Как собирать без examples, demos, tools? Я так подозреваю что нужно где-то что-то закоментировать, только вот где?
Записан
noosooth
Гость
статическая компиляция QT ???
«
Ответ #7 :
Июль 22, 2006, 18:34 »
Цитата: "L.Marvell"
Вот заодно и спрошу. Как собирать без examples, demos, tools? Я так подозреваю что нужно где-то что-то закоментировать, только вот где?
Я после configure просто говорю: nmake sub-src
Записан
Alexei
Гость
статическая компиляция QT ???
«
Ответ #8 :
Июль 23, 2006, 13:53 »
Цитировать
Сколько места отъедает статически собранная кт? А то вот поставил собираться, а теперь думаю хватит, не хватит...
Чуть меньше 5Г
Записан
L.Marvell
Гость
статическая компиляция QT ???
«
Ответ #9 :
Июль 24, 2006, 13:52 »
Я уже нарыл, но все равно спасибо. Правда у меня как-то ну очень мало получилось, 263М. Счаз буду проверять все ли работает
добавлено спустя 57 минут:
А это нормально что статически собранное приложение тянет за собой списочек:
comerr32.dll
krb5_32.dll
libiconv-2.dll
libintl-2.dll
libmysql.dll
libpq.dll
Само приложение работает с б/д MySQL, а либу для постгреса я скомпилил для кт на всякий случай.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
статическая компиляция QT ???
«
Ответ #10 :
Июль 24, 2006, 15:00 »
дв нормально! пусть тянет!
Записан
L.Marvell
Гость
статическая компиляция QT ???
«
Ответ #11 :
Июль 24, 2006, 15:49 »
Стоп. Но ведь кт собиралась статически с опциями -qt-sql-mysql и -qt-sql-psql (и соотв. путями к инклудам и либам). Т.е. как мне представлялось кт должна была слинковаться с libmysql и libpq ну и соотв. приложение не должно требовать этих дллек. Или я все неправильно понял.
+ ко всему, зачем мне таскать с приложением libpq.dll и его табор, если приложение не работает с PostgreSQL?
Записан
noosooth
Гость
статическая компиляция QT ???
«
Ответ #12 :
Июль 24, 2006, 19:26 »
Цитата: "L.Marvell"
Т.е. как мне представлялось кт должна была слинковаться с libmysql и libpq ну и соотв. приложение не должно требовать этих дллек. Или я все неправильно понял.
Ничего не смыслю в этих драйверах к базам, но рискну предположить, что статически собрав Qt с ключами qt-sql... , Вы всего лишь получили отдельные статические библиотеки где нибудь в /Qt/4.x.x/plugins/...
И насколько я понимаю, линковку с этими библиотеками должно осуществлять Ваше приложение, а не Qt.
Плюс в приложении Вы должны использовать макрос Q_IMPORT_PLUGIN.
Возможно я ошибаюсь.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
статическая компиляция QT ???
«
Ответ #13 :
Июль 24, 2006, 22:15 »
нет libmysql.dll это dll, это не статическая либа
ты ее никак не запихнешь к себе, возможно для этого надо пересобрать mysql
Записан
noosooth
Гость
статическая компиляция QT ???
«
Ответ #14 :
Июль 25, 2006, 00:29 »
Цитата: "Admin"
нет libmysql.dll это dll, это не статическая либа
ты ее никак не запихнешь к себе, возможно для этого надо пересобрать mysql
Прошу прощения, это я видимо несколько обнаглел и полез в область где ни ухо ни рыло
Ежели libmysql.lib это библиотека импорта для libmysql.dll из поставки мускула, и она нужна Qt' вому плагину для того чтобы собственно собраться, то тогда он ессно будет тянуть эту dll за собой независимо от того статически он слинкован или нет.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...