Название: Гигантские размеры исполняемых файлов Отправлено: 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ка была один раз загружена в память, то другие программы, которые ее тоже используют уже ее не загружают, а используют один экземпляр на всех. С этим никто и не спорит, все зависит только от количества исполняемых файлов. Но если это небольшая программа (например, игрушка) почему бы ее и не откомпилить статически. |