![]() |
|
![]() ![]() ![]() |
|
Kipter |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
Qt4 можно скомпилировать статически в очень миниатюрном виде, выкинув из библиотеки то что в программе не используеться. Лишние виджеты / классы и т д.
Так вот видел на скринах я и читал про такую тузлу как QConfig, -> http://doc.trolltech.com/4.3/qtopiacore-features.html Которая позволяет с помощью макро-констант исключить из компиляции лишний код круче чем флаги ./configure По скрину вы сами моете определить насколько круче. Но я не понимаю где взять эту Qtopia в состав которой входит эта утилита. Помогите найти эту программу =) хочу скомпилированные статически исполняемые фаилы меньше мегабайта, с этой фигней это реально =) потом мб. отпишу в этой теме FAQ по миниатюризации статически скомпилированных программ на QT Это сообщение отредактировал(а) Kipter - 30.7.2009, 17:28 |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Kipter, Не понятно для чего это нужно. При линковке, в конечную цель будет включен только только необходимый код. Ничего лишнего.
Поясните. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Слышу звон, но не знаю где он? ;) А он здесь Только ссылки на торрент уже не работают, но из моего текста понятно, что качать надо общий тарбол для всех платформ, там где есть приписка *all*, например: ftp://ftp.trolltech.com/qt/source/qt-all-...rc-4.5.2.tar.gz Только не пиши тут и не задавай вопросов о проблемах или багах, которые будут всплывать в программах собранных с урезанным дистрибутивом. Подводных камней такой оптимизации море. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
SABROG, А смысл какой? Разве постом выше я не верно ответил?
Или что-то еще... -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Kipter |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
Большое спасибо =)
Хех,никто не собираеться разрабатывать программу на такой QT, на такой разве что релизнутую версию компилировать. А если после компиляции на такой сборке появяться лаги то будет понятно из-за чего, так что наврятли вопросы возникнут =) Да и потом я сомневаюсь что из-за отключения фрагментов кода библиотеки с помощью макро-констант будут лаги, ведь я не куски кода вырезаю из библиотеки, а определяю константы с помощью этой программы от самих троллей =)
Вы сами то пробывали собирать прогу статически? =))))) Окошко Hello World ~ 14 метров =) Это сообщение отредактировал(а) Kipter - 31.7.2009, 12:48 |
||||||
|
|||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Да-да, вы вырезаете куски кода. В Qt очень много обёрток для условной компиляции (типа выкинуть поддержку тулбаров или ещё чего-нибудь).
1. Если пользуетесь МинГВ - не забывайте про strip. 2. VC++ обычно код генерит меньше, кстати. Не знаю, почему - особо эту тему не исследовал. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Нет. Ибо считаю это не правильным. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Kipter |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
да, неправильно выразился =) всмысле не сам лезу в сорцы библиотеки и удаляю фрагменты кода =) Вообще эта утилита и возможность отключения "лишнего" кода предназначены для embedded систем, где с ресурсами ну очень плоховато. Вообщем потещу, посмотрим.... Но библиотека QT очень качественно разбита на модули, в том числе много независимых модулей... если я не использую виджет QPushButton и я его отключу.... недумаю что это создаст какието проблемы =) другое дело если отключать что то более серьезное =) Да я тоже в какойто степени считаю это неправильным... но когда речь идет о Windows и о том что твоя программа эта всеголишь утилитка.... таскать с ней толстушку QT ну ужь слишком роскошно, да еще и инсталлятор прийдетсья делать =) p.s только не отсылайте писать утилитки на WinApi =))) а на QT только большие проекты делать =) Это сообщение отредактировал(а) Kipter - 1.8.2009, 06:01 |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Я думаю тебе уже ответили. Линковщик выкидывает не все. .a файлы это всего лишь archive .o файлов. Линковщик может вырезать модуль (.o) целиком, если он не используется, но если там хотя бы что-то используется, то он его включает целиком. QConfig выкидывает код кусками из исходников путем влияния на дефайны. Не смотря на то, что там вроде как идет отслеживание зависимостей, всего утилита не учитывает. |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Следует отметить что с какими-то отключенными вещами компиляция может вообще не пройти. Например, QT_NO_SESSIONMANAGER
|
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
SABROG, Спасибо.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |