|
3 / 3 / 0
Регистрация: 12.07.2022
Сообщений: 216
|
|
Деплой - избыточность01.12.2022, 00:57. Показов 3266. Ответов 25
Метки нет (Все метки)
Задеплоил простую прогу под винду, делал по инструкции, через windeployqt. Проект простецкий, из модулей только core, gui, widgets. Всё работает, но готовая папка с деплоем весит 63 МБ. Посмотрел на содержимое и появились вопросы "какого оно там делает?" Например opengl32sw.dll, которая весит 15 МБ. Прога вообще не обращается к OpenGL. И используемые модули по идее тоже. Ещё папка translations с кучей файлов, хотя я не юзал переводы вообще.
Выкинул из папки всё кроме экзешника и стал по одной добавлять dll которые просит. Оказалось что необходимо из них всего 7 штук, прога запускается и весь функционал работает. Полный размер папки с деплоем уменьшился до 30 МБ. Ес-сно вопросы - почему столько лишнего, и точно ли это можно удалять? То есть полная работоспособность всего проекта - это достаточное условие что больше ничего не нужно и на любой машине не понадобится?
0
|
|
| 01.12.2022, 00:57 | |
|
Ответы с готовыми решениями:
25
Деплой многопроектного приложения Избыточность кода
|
|
3 / 3 / 0
Регистрация: 12.07.2022
Сообщений: 216
|
|
| 03.12.2022, 22:41 [ТС] | |
|
0
|
|
| 12.12.2022, 13:44 | ||||
Сообщение было отмечено Geek Geekson как решение
Решение
Приложение весом 30 MB в динамике будет собрано в статику весом 18 MB. Эти 18 MB статики можно сжать утилитой UPX до 7-8 MB командой из CMD:
Надо помнить про лицензии. Например, LGPL не позволяет собирать в статику. Для LGPL должна быть динамика. Зато LGPL не требует раскрытия исходников приложения. А GPL позволяет собирать в статику, но надо раскрывать исходники, например, должен быть public репозиторий на GitHub. Коммерческая лицензия, конечно, позволяет собирать в статику без доступа пользователей к исходникам проекта. Надо ещё помнить, что есть несколько модулей, которые нельзя собрать в статику (не знаю какие, вроде QWebView), но есть модули, которые нельзя использовать по LGPL, например, QCharts, у которой GPL и коммерческая. Может быть эти модули вы никогда не будете использовать. Когда вы много раз собрали в статику, набили шишки (на что может уйти очень много времени и нервов), то последующие сборки делаются очень легко и быстро. Они будут требовать от вас буквально несколько секунд, потому что вы наверняка сохраните свою команду "configure", то есть для сборки вам будет необходимо скопировать команду "configure" в консоль. Во время сборки вы занимаетесь своими делами 5-10 минут, потом вводите команду "mingw32-make" (если вы используете MinGW, а не MSCV), занимаетесь своими делами от 1 до 10 часов (в зависимости от мощности компьютера или ноутбука и от количество выбранных модулей в "configure"), а потом вводите команду "mingw32-make install" Самый простой и быстрый способ получить статический Qt - скачать тот, который уже собран. Можно поставить MSYS2 (www.msys2.org). В командной строке MSYS2 ввести команду:
1
|
||||
|
|
|
| 12.12.2022, 13:51 | |
|
С антивирусами проблема не в том, что у вас может заругаться. А в том, что у юзеров с их многообразием антивирусов и их версий, может произойти false positive. И юзер напишет на форуме или ещё где, что вы распространяете вирусню.
Упомянутые различия LGPL и GPL - очевидные и простые. Есть ещё пограничный случай LGPL - распространение статической сборки и в виде обьектных файлов.
1
|
|
| 12.12.2022, 14:06 | |
|
Но я сейчас не использую статику для Qt, только динамику. Сделал несколько папок с библиотеками, например: набор с OpenGL, набор без OpenGL, набор с WebSockets и т.д. Пробовал на других машинах запускать без Qt и MinGW. Для MinGW нужно, чтобы эти три библиотеки были рядом с EXE:
Мне главное, чтобы можно было свои демки прикреплять на КиберФорум, где размер архива должен быть не больше 25 МБайт. В противном случае пришлось бы либо делить на несколько архивов, либо нарушать правила форума и размещать архив на DropBox, Yandex Disk и т.д., при этом тратить место, хранить их долго и бояться не удалить бы их случайно, чтобы ссылки на приложение не перестали работать во множестве сообщений форума. Любой может найти EXE без проблем среди, например, семи dll. Как пример - эта игровая демка на Box2D и шейдерном OpenGL2, где архив весит 7.6 MB, а в разархивированном виде приложение весит 18 МБайт.
0
|
|
|
3 / 3 / 0
Регистрация: 12.07.2022
Сообщений: 216
|
||
| 12.12.2022, 16:42 [ТС] | ||
|
1
|
||
| 12.12.2022, 17:27 | ||
|
0
|
||
| 12.12.2022, 17:27 | |
|
Избыточность в склеивании импликант Определить избыточность сообщений Избыточность в поле auto_increment Избыточность стека протоколов Избыточность двоичного источника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|