Russian Qt Forum
Ноябрь 22, 2024, 23:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: сборка qt приложения mingw под винду статически [solved]  (Прочитано 25441 раз)
burunduk
Гость
« Ответ #15 : Октябрь 31, 2005, 13:13 »

да не работает
WinXP:  программа не умещается в памяти
я так понимаю эта опция для сборки из исходников своей либы

Цитата: "Larrikin"

Например проект называется "test":
qmake -project
qmake "CONFIG += staticlib" test.pro
make release
Вуаля!
Записан
Larrikin
Гость
« Ответ #16 : Октябрь 31, 2005, 13:25 »

Цитата: "burunduk"
да не работает
WinXP:  программа не умещается в памяти
я так понимаю эта опция для сборки из исходников своей либы

Цитата: "Larrikin"

Например проект называется "test":
qmake -project
qmake "CONFIG += staticlib" test.pro
make release
Вуаля!

Ось - WinXP
Собирается, все нормально. Бинарник получается 5,5Мб. Только требует mingw32.dll, но это уже мелочи.
Про память не знаю, у меня гиг оперативки стоит.
Хотя, секундочку.. Я ведь вчера на ночь оставлял qt пересобираться с опцией -static. Так что вот. Положительный результат достигнут сборкой QT с опцией -static.
Записан
crocus
Гость
« Ответ #17 : Ноябрь 02, 2005, 06:36 »

Снэпшот от 1 ноября собрался правда в него забыли положить ActiveQT
(брал с другого снэпшота) и пришлось править исходники для сборки MySQL. Релиз получился 6,2 MB.
Записан
burunduk
Гость
« Ответ #18 : Ноябрь 09, 2005, 11:32 »

А с какого именно можно взять снэпшота ActiveQT ?

У меня qt-win-opensource-src-4.1.0-snapshot-20051108 написал error:
Cannot find file: activeqt.pro

Посмотрел в qt-win-opensource-src-4.0.1, там тоже нету activeqt.pro.


Цитата: "crocus"
Снэпшот от 1 ноября собрался правда в него забыли положить ActiveQT
(брал с другого снэпшота) и пришлось править исходники для сборки MySQL. Релиз получился 6,2 MB.
Записан
crocus
Гость
« Ответ #19 : Ноябрь 10, 2005, 04:28 »

Снэпшот от 12 октября
Записан
Вудруф
Гость
« Ответ #20 : Ноябрь 10, 2005, 08:00 »

Цитировать
Собирается, все нормально. Бинарник получается 5,5Мб. Только требует mingw32.dll, но это уже мелочи.


Забавно, а у меня с указанными опциями и командами exe-шник не хочет собирать. Исключительно o-файлы получаются..
Записан
burunduk
Гость
« Ответ #21 : Ноябрь 10, 2005, 11:07 »

его же уже нету у них на сайте :-(
если не трудно пришлите плз. файлы, которые к ActiveQT там относятся на
dmj_box [собака] ukr.net


Цитата: "crocus"
Снэпшот от 12 октября
Записан
fanat9
Гость
« Ответ #22 : Ноябрь 10, 2005, 17:23 »

У меня получилось собрать статическую версию только после изменения в mkspecs\win32-g++\qmake.conf   QMAKE_LFLAGS_DLL = -static, вместо -shared.
При этом в *.pro только  CONFIG += release qt

С опцией -staticlib - получаются статические библиотеки  *.a, что в общем-то логично.

Размер получается действительно в районе 5.5М при использовании OpenGL+Network.
Остается зависимость статически собранной программы от  15кб mingwm10.dll - пока не  нашел решения, если кто решил - напишите плз =)

P.S. Всё для 4.0.1, одинаково работает на рабочей w2k и домашней XP.
Записан
Вудруф
Гость
« Ответ #23 : Ноябрь 10, 2005, 20:22 »

У тебя какая версия mingw, что mingwm10.dll 15 кб весит... Раньше (давно) тоже такое было, но с новой версией всех пакетов эта dll-ка уже 746к...
Записан
Вудруф
Гость
« Ответ #24 : Ноябрь 10, 2005, 20:28 »

Цитировать
У меня получилось собрать статическую версию только после изменения в mkspecs\win32-g++\qmake.conf QMAKE_LFLAGS_DLL = -static, вместо -shared.
При этом в *.pro только CONFIG += release qt

Не помогло. Всё равно собирает динамическую. Может, это только для случая, когда сама библиотека собрана статически?
Записан
fanat9
Гость
« Ответ #25 : Ноябрь 10, 2005, 23:34 »

Сама QT конечно должна быть собрана статически.

У меня было  так:
- Я скачал и установил бинарную qt-4.0.1 под MinGW.
- Перекомпилил qt (configure -static -platform win32-g++, make).
Компиляция правда вывалиливается с ошибкой на Linguist'e, но к этому моменту все qt библиотеки в статической версии уже скомпилированы.
- Поправил mkspecs.

После этого стало компилиться статически, но когда попробывал на другой машине - ругнулось на mingwm10.dll, когда скопировал и её - то всё заработало.
MinGW соответственно той версии, которую троллы запихнули в архив.
Соответвенно, если поменять в mkspecs флаг обратно - то программа собирается с динамически подключаемыми библиотеками.
Записан
Вудруф
Гость
« Ответ #26 : Ноябрь 11, 2005, 11:36 »

А можно как-нибудь скомпилировать библиотеку, а потом программы по выбору делать статическими или динамическими без перекомпиляции библиотеки?
Записан
Larrikin
Гость
« Ответ #27 : Ноябрь 14, 2005, 16:21 »

Цитата: "Вудруф"
А можно как-нибудь скомпилировать библиотеку, а потом программы по выбору делать статическими или динамическими без перекомпиляции библиотеки?

Цитировать
Соответвенно, если поменять в mkspecs флаг обратно - то программа собирается с динамически подключаемыми библиотеками.

выше ведь написано
Записан
Novichok
Гость
« Ответ #28 : Декабрь 20, 2005, 13:40 »

ребята, я еще только учусь, так что извините за ламерский вопрос
у меня QT410rc1OpenSource + MinGw (CodeBlocks)
так вот, у меня после
Цитата: "Larrikin"

Решено.
Например проект называется "test":
qmake -project
qmake "CONFIG += staticlib" test.pro
make release


в папке release вместо Test.exe создался libTest.a
это так должно быть?, если да, то тогда что дальше...
(а если собираю без "CONFIG += staticlib" то нормально создается Test.exe)
Записан
Вудруф
Гость
« Ответ #29 : Декабрь 20, 2005, 13:45 »

Ну, видимо, та же проблема. Собрана динамическая версия библиотеки, с ней статические версии программ не создать...
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 21.