Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: SL от Май 11, 2007, 08:02



Название: Гигантские размеры исполняемых файлов
Отправлено: SL от Май 11, 2007, 08:02
Здравствуйте поставил QT4.2.3 под WinXp. Сделал статическую линковку, собрал из самплосов пример, программа простой диалог так вес в релизной версии 3 Мб. Это у всех так или только у меня. Хотя под линуксом всегда все было компактно.


Название: Гигантские размеры исполняемых файлов
Отправлено: AlexVR от Май 11, 2007, 09:36
3Мб - это не предел, чем больше компонентов тем больше.
Я компилил ряд своих проектов в mingw, получал в несколько раз больше.
При этом EXE-шник корошо жмется упаковщиками (раза в 3 минимум)


Название: Гигантские размеры исполняемых файлов
Отправлено: Admin от Май 11, 2007, 10:34
3-5 мегобайт для статика норма


Название: Гигантские размеры исполняемых файлов
Отправлено: pakulo от Май 11, 2007, 11:35
все нормально... сама dll gui только сколько занимает


Название: Гигантские размеры исполняемых файлов
Отправлено: SABROG от Май 11, 2007, 11:45
Я использую динамическую линковку, общий размер всех файлов в небольшой програмке, где используется GUI и SQL - 13 мегабайт.

Я уже смирился с мыслью о том, что с помощью Qt не стоит писать серверы и утилиты. Для больших, клиентских проектов может быть не плох.


Название: Гигантские размеры исполняемых файлов
Отправлено: Emc от Май 11, 2007, 12:22
аффигеть -- в моем проекте подключено core gui sql network assistant + внутрь ехе-шника вкоммпилена стороняя либа (lib.a) - и размер = 2.96 метра

вариант только один -- версия все таки дебаговая
- make distclean
- убедиться CONFIG+=release
- qmake
- make
:)


Название: Гигантские размеры исполняемых файлов
Отправлено: goer от Май 11, 2007, 12:33
Ну для динамической линковки нормальный размер бинаря. Тут люди про статическую вобще то говорят :)


Название: Гигантские размеры исполняемых файлов
Отправлено: AlexVR от Май 11, 2007, 12:37
Цитата: "Emc"
аффигеть -- в моем проекте подключено core gui sql network assistant + внутрь ехе-шника вкоммпилена стороняя либа (lib.a) - и размер = 2.96 метра

вариант только один -- версия все таки дебаговая
- make distclean
- убедиться CONFIG+=release
- qmake
- make
:)


Ну ты как, ну тогда хоть раскажи каким компилятором и с каким настройка QT ты это делаешь, а то у меня может неверно настроена отдельная виртуальная машина для компиляции Qt-проектов в статическом режиме.


Название: Гигантские размеры исполняемых файлов
Отправлено: Emc от Май 11, 2007, 12:47
а ну со статической сборкой ничего не поделаешь - ваш exe + вес qt библиотек
извините упустил этот момент из вида - увидел размер ехе - был несколько в шоке
-
P.S кстати а зачем компилить статически - я конечно понимаю все в одном ехе, но что мешает положить в папку с вашим бинарником qt- шные библиотеки на чистом компе???


Название: Re: Гигантские размеры исполняемых файлов
Отправлено: Dimchansky от Май 11, 2007, 14:02
Цитата: "SL"
Сделал статическую линковку, собрал из самплосов пример, программа простой диалог так вес в релизной версии 3 Мб. Это у всех так или только у меня. Хотя под линуксом всегда все было компактно.


Да, у меня тоже минимальная програмка с GUI в 3 Мб при статике получалась. Попробуй UPX (http://upx.sourceforge.net/)'ом зажать. Станет в два раза меньше.


Название: Гигантские размеры исполняемых файлов
Отправлено: AlexVR от Май 11, 2007, 15:35
Цитата: "Emc"
P.S кстати а зачем компилить статически - я конечно понимаю все в одном ехе, но что мешает положить в папку с вашим бинарником qt- шные библиотеки на чистом компе???


Размер меньше. А это важно, например, при выкладывании скомпилированых прог в инете.


Название: Гигантские размеры исполняемых файлов
Отправлено: SABROG от Май 11, 2007, 16:10
Если выпускается не одна программа, а целый набор утилит написанных на Qt, то нет смысла дублировать все кутэшные библиотеки внутри каждого файла. Кроме того, если dllка была один раз загружена в память, то другие программы, которые ее тоже используют уже ее не загружают, а используют один экземпляр на всех.


Название: Гигантские размеры исполняемых файлов
Отправлено: AlexVR от Май 11, 2007, 20:38
Цитата: "SABROG"
Если выпускается не одна программа, а целый набор утилит написанных на Qt, то нет смысла дублировать все кутэшные библиотеки внутри каждого файла. Кроме того, если dllка была один раз загружена в память, то другие программы, которые ее тоже используют уже ее не загружают, а используют один экземпляр на всех.

С этим никто и не спорит, все зависит только от количества исполняемых файлов.
Но если это небольшая программа (например, игрушка) почему бы ее и не откомпилить статически.