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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Гигантские размеры исполняемых файлов  (Прочитано 7698 раз)
SL
Гость
« : Май 11, 2007, 08:02 »

Здравствуйте поставил QT4.2.3 под WinXp. Сделал статическую линковку, собрал из самплосов пример, программа простой диалог так вес в релизной версии 3 Мб. Это у всех так или только у меня. Хотя под линуксом всегда все было компактно.
Записан
AlexVR
Гость
« Ответ #1 : Май 11, 2007, 09:36 »

3Мб - это не предел, чем больше компонентов тем больше.
Я компилил ряд своих проектов в mingw, получал в несколько раз больше.
При этом EXE-шник корошо жмется упаковщиками (раза в 3 минимум)
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Май 11, 2007, 10:34 »

3-5 мегобайт для статика норма
Записан
pakulo
Гость
« Ответ #3 : Май 11, 2007, 11:35 »

все нормально... сама dll gui только сколько занимает
Записан
SABROG
Гость
« Ответ #4 : Май 11, 2007, 11:45 »

Я использую динамическую линковку, общий размер всех файлов в небольшой програмке, где используется GUI и SQL - 13 мегабайт.

Я уже смирился с мыслью о том, что с помощью Qt не стоит писать серверы и утилиты. Для больших, клиентских проектов может быть не плох.
Записан
Emc
Гость
« Ответ #5 : Май 11, 2007, 12:22 »

аффигеть -- в моем проекте подключено core gui sql network assistant + внутрь ехе-шника вкоммпилена стороняя либа (lib.a) - и размер = 2.96 метра

вариант только один -- версия все таки дебаговая
- make distclean
- убедиться CONFIG+=release
- qmake
- make
Улыбающийся
Записан
goer
Гость
« Ответ #6 : Май 11, 2007, 12:33 »

Ну для динамической линковки нормальный размер бинаря. Тут люди про статическую вобще то говорят Улыбающийся
Записан
AlexVR
Гость
« Ответ #7 : Май 11, 2007, 12:37 »

Цитата: "Emc"
аффигеть -- в моем проекте подключено core gui sql network assistant + внутрь ехе-шника вкоммпилена стороняя либа (lib.a) - и размер = 2.96 метра

вариант только один -- версия все таки дебаговая
- make distclean
- убедиться CONFIG+=release
- qmake
- make
Улыбающийся


Ну ты как, ну тогда хоть раскажи каким компилятором и с каким настройка QT ты это делаешь, а то у меня может неверно настроена отдельная виртуальная машина для компиляции Qt-проектов в статическом режиме.
Записан
Emc
Гость
« Ответ #8 : Май 11, 2007, 12:47 »

а ну со статической сборкой ничего не поделаешь - ваш exe + вес qt библиотек
извините упустил этот момент из вида - увидел размер ехе - был несколько в шоке
-
P.S кстати а зачем компилить статически - я конечно понимаю все в одном ехе, но что мешает положить в папку с вашим бинарником qt- шные библиотеки на чистом компе???
Записан
Dimchansky
Гость
« Ответ #9 : Май 11, 2007, 14:02 »

Цитата: "SL"
Сделал статическую линковку, собрал из самплосов пример, программа простой диалог так вес в релизной версии 3 Мб. Это у всех так или только у меня. Хотя под линуксом всегда все было компактно.


Да, у меня тоже минимальная програмка с GUI в 3 Мб при статике получалась. Попробуй UPX'ом зажать. Станет в два раза меньше.
Записан
AlexVR
Гость
« Ответ #10 : Май 11, 2007, 15:35 »

Цитата: "Emc"
P.S кстати а зачем компилить статически - я конечно понимаю все в одном ехе, но что мешает положить в папку с вашим бинарником qt- шные библиотеки на чистом компе???


Размер меньше. А это важно, например, при выкладывании скомпилированых прог в инете.
Записан
SABROG
Гость
« Ответ #11 : Май 11, 2007, 16:10 »

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

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

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


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