Подтвердить что ты не робот

Минимальный размер исполняемого файла Qt

Теперь, когда Qt идет LGPL, я пытаюсь повторить попытку. Несколько лет назад я решил отказаться от некоторых причин, один из которых был огромным размером исполняемых файлов (Qt на окнах). Я нашел нижний предел около 5 МБ. Trolltech подтвердил это по запросу, но сказал мне, что зернистость будет улучшена, что приведет к меньшим размерам (в зависимости от требуемых элементов).

В то же время все могло измениться. Каков размер "hello world" (окна и консоль) в Qt в настоящее время?

Это о статической привязке. Я думаю, что qtCore и qtGui требуются.

4b9b3361

Ответ 1

Здесь Обсуждение с 2007 года, наименьшее число, которое я видел там, после быстрого взгляда на это было 1,3 МБ (сжато с использованием UPX), поэтому кажется, что его можно немного снизить, но он все еще довольно большой.

Ответ 2

Наш Installbuilder для Qt - это кроссплатформенные инструменты установки с интерфейсом Qt и используются многими коммерческими разработчиками (в том числе сам Trolltech для упаковывая их QtCreator IDE). Используя 4.4 и составляя части, которые нам не нужны, мы получили накладные расходы до 4.1 Mb на Linux x86, 5.2M на Linux x64 и 5.3Mb на Windows. Учтите, что это до обработки его UPX. Кроме того, если один и тот же двоичный файл должен поддерживать несколько дистрибутивов Linux, вам может потребоваться отправить libstdС++, который добавит около 800 кб к размеру.

Вам нужно будет создать свои собственные версии и в основном включить/отключить ifdef # для виджетов, которые вы не используете, форматы изображений, которые вам не нужны, и т.д. Хотя исходный код Qt уже подготовлен для этого и есть некоторые инструменты, которые должны помочь, реальность такова, что это громоздкий ручной процесс (но необходимый для приложения, подобного нашему). Их встроенная версия (ранее известная как QTopia) и "регулярная" Qt была объединена с одной и той же кодовой базой, поэтому я уверен, что продвижение вперед будет все более упрощено для создания индивидуальных/обрезанных версий.

Ответ 3

В основном это зависит от вашего способа настройки и развертывания. Вы можете, конечно, скомпилировать как статический, который исключает код, который не используется. Вы также можете выделять такие вещи, как исключения и STL, что уменьшит объем памяти и диска. И, наконец, используете ли вы сжатую файловую систему, такую ​​как squashfs, cramf или jffs2. Попробуйте

configure --help

для множества опций. С встроенными портами Qt для встроенных Linux и Windows CE вы также можете использовать qconfig для загрузки файлов конфигурации, которые позволяют вам выделять многие группы функций. Подробнее см. http://doc.trolltech.com/main-snapshot/fine-tuning-features.html.