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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: [4.2.2, static, MinGW] Снова об уменьшении размера EXE  (Прочитано 22977 раз)
Mindtraveller
Гость
« : Март 11, 2007, 05:00 »

Пишу утилиту с использованием QT. Есть необходимость сделать файл как можно меньше. UPX - само собой, но здесь хотелось бы обсудить возможность уменьшения исходного файла.

Что для этого было сделано. Собран QT, 4.2.2 (configure + mingw32-make), статически, release. Ключи конфигуратора выключали почти всё, кроме stl (без него не проходит сборка qtGUI).
При этом libQtCore = 2 Mb, libQtGui = 9 Mb.

Отсюда, в QDevelop при помощи того же MinGW собиралось тестовое приложение, где есть только главное окно. Размер приложения получился 5 Mb.

Вопрос к профессионалам: в моём случае, как можно уменьшить размер EXE-файла (без UPX), если можно, объясните по пунктам.
Схожая тема на форуме была мною изучена, к сожалению не помогло (возможно, что-то сделал не так).
Записан
Mr. Пронька
Гость
« Ответ #1 : Март 11, 2007, 10:22 »

Как предполагается распространять приложение? Возможны ли апдейты или только скачивание новой версии?
Записан
Alex03
Гость
« Ответ #2 : Март 11, 2007, 10:37 »

exception при сборке qt отключали?
Записан
Mindtraveller
Гость
« Ответ #3 : Март 11, 2007, 11:06 »

Mr. Пронька: только скачивание новой версии
Alex03: исключения выключены, rtti тоже
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #4 : Март 11, 2007, 13:47 »

Цитата: "Mindtraveller"

Вопрос к профессионалам: в моём случае, как можно уменьшить размер EXE-файла (без UPX), если можно, объясните по пунктам.


Поробуй прогнать утилитой strip с параметром -s

Цитировать
-s --strip-all                   Remove all symbol and relocation information
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вудруф
Гость
« Ответ #5 : Март 11, 2007, 13:52 »

strip --strip-unneeded

добавлено спустя 1 минуту:

 Ещё можно при конфигурации заюзать -no-qt3support
Записан
Mindtraveller
Гость
« Ответ #6 : Март 11, 2007, 17:04 »

1) qt3support был отключен изначально
2) strip -s не помог: размер файла не уменьшился

Есть ещё какие-то пути?
Может быть, полученный размер библиотек (см. выше) слишком большой?
Записан
evilguard
Гость
« Ответ #7 : Март 11, 2007, 17:39 »

Mindtraveller
Че-то размер великоват, у меня QTCore 1.5 Mb, QTGui 5Mb, причем при сборке ничего не отключал, есть все. Компилил MSVC, QT 4.2.2
Записан
Mindtraveller
Гость
« Ответ #8 : Март 11, 2007, 17:48 »

evilguard, а при статической линковке какой получается размер ехе-шника где просто одно окно без ничего?

Причём ты возможн привёл размер dll-ок, а я привёл размер либов.
Длл-ки могут тянуть за собой другие длл-ки, отсюда, возможно, и разница в размере.
Записан
evilguard
Гость
« Ответ #9 : Март 11, 2007, 18:15 »

Хорошо, размер либов - QTGui4.lib - 3.59Mb, QTCore4.lib - 1.1Mb.
Записан
Mindtraveller
Гость
« Ответ #10 : Март 11, 2007, 18:33 »

Классно. Ровно в 2 раза меньше.
Увы, не знаю как добиться при сборке minGW.
Может кому-нибудь удавалось настолько уменьшить размер либов?
Записан
crossly
Гость
« Ответ #11 : Март 11, 2007, 18:33 »

Цитата: "evilguard"
Хорошо, размер либов - QTGui4.lib - 3.59Mb, QTCore4.lib - 1.1Mb.

при сборке с помощью msvc размер всегда меньше....
Записан
evilguard
Гость
« Ответ #12 : Март 11, 2007, 19:27 »

Цитата: "crossly"
Цитата: "evilguard"
Хорошо, размер либов - QTGui4.lib - 3.59Mb, QTCore4.lib - 1.1Mb.

при сборке с помощью msvc размер всегда меньше....

Ну я собирал, не отключая ничего.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #13 : Март 11, 2007, 20:02 »

У меня MinGW 3.4.5 (Candidate). Собрал qt-win-opensource-src-4.2.3 со следующим конфигом:

-debug-and-release
-no-stl
-no-rtti
-no-qt3support
-no-dsp
-no-vcproj
-no-accessibility

Размер либы libQtCore4.a - 1.7 Мб, libQtGui4.a - 6.2 Мб
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Mindtraveller
Гость
« Ответ #14 : Март 11, 2007, 21:24 »

А размер тестовой программы (как в первом постинге) какой получается?
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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