Обход размера приложений Qt - PullRequest
3 голосов
/ 25 июня 2011

Приложение Qt с сетевой библиотекой и библиотекой GUI занимает около 10 МБ;то есть без кода.

Для людей с подключением к Интернету, как у меня, это немного неудобно;особенно когда дело доходит до программы, которая редко используется (то есть используется один раз, а затем уходит).

Я пытался использовать сжатия LZMA и LZMA2 для сжатия исполняемых файлов, и ничего не сделал.

Я хотел бы сделать сам код меньше, есть ли способ сделать это?Сколько я могу уменьшиться в размере?По крайней мере, когда дело доходит до сетевой библиотеки.

PS: я бы не хотел использовать UPX или подобные приложения.

Ответы [ 3 ]

4 голосов
/ 25 июня 2011

Вы можете попробовать статически связать; это может быть в состоянии отказаться от неиспользуемого кода из библиотеки. Обратите внимание, однако, что это может повлиять на ваши обязательства по лицензиям Qt с открытым исходным кодом; Распространение приложения с закрытым исходным кодом (как правило, не принадлежащего LGPL), статически связанного с библиотекой, лицензированной LGPL, влечет за собой дополнительные обязательства по сравнению со случаем динамического связывания. Конечно, если ваше приложение имеет лицензию GPL или LGPL, это не проблема.

1 голос
/ 25 июня 2011

Вы можете пересобрать Qt из исходного кода, пропуская ненужные биты. См. configure options для списка вещей, которые вы можете не указывать. Например. -no-openssl уменьшит сетевую библиотеку.

0 голосов
/ 25 июня 2011

Вот руководство, которое я написал по уменьшению Qt:

http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/

...