crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Оптимальная компиляция своего ПО под Windows
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2008, 16:06
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Тут глянул спомощью проги "Dependency Wallker" что хочет моя Qt'явая прога, собраная с помощью MinGW-32:
kernel32.dll
mingwm10.dll
msvcrt.dll
QtCore4.dll
QtGui4.dll

Потом посмотрел что хочет Opera-9.23:
kernel32.dll
user32.dll

У нее в каталоге еще лежат dll'ки:
Opera.dll
OUniAnsi.dll
spellcheck.dll
(ни одна не ртебует ничего в стиле Qt***.dll)

Как бы мне так собрать софтину чтобы только виндовые dll'ки нужны были, а то я смотрю размер моей софтины 38КиБ.
такую бы и распространять :p
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 20.1.2008, 16:18
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

Спасибо сказали: 0 раз(а)




Репутация:   0  


Со статическими либами собери(сначала их самих собрать нужно).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2008, 16:26
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а я не представляю как статическую сборку делать, может подскажешь где прочитать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 20.1.2008, 16:30
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Цитата
а я не представляю как статическую сборку делать, может подскажешь где прочитать.

Фактически просто указать ключ -static на этапе configure. Как собирается Qt тут вроде был перевод. Но при статической линковки размер исполняемого файла сильно увеличится...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2008, 16:44
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Swappp @ 20.1.2008, 19:30) *
...размер исполняемого файла сильно увеличится...

т.е. это как в Борланде будет при вкл. крыжике "Build with runtime library", метра 3 весом получается, то, что было 700к.
я правильно понял?

Выходит "38 попугаев" мне не видать :)

Сообщение отредактировал Litkevich Yuriy - 20.1.2008, 16:50
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 20.1.2008, 17:31
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Swappp @ 20.1.2008, 16:30) *
актически просто указать ключ -static на этапе configure.
Если не ошибаюсь, ещё в .pro нужно CONFIG += static (или что-то вроде этого).

Цитата(Litkevich Yuriy @ 20.1.2008, 16:44) *
т.е. это как в Борланде будет при вкл. крыжике "Build with runtime library", метра 3 весом получается, то, что было 700к.
Типа того. Зато не будет требовать библиотек с магическими для пользователя именами :).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 20.1.2008, 17:45
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Цитата
Если не ошибаюсь, ещё в .pro нужно CONFIG += static (или что-то вроде этого).

Этого не требуется.
Цитата
т.е. это как в Борланде будет при вкл. крыжике "Build with runtime library", метра 3 весом получается, то, что было 700к.
я правильно понял?

Да, причем будет не 3Мб, а еще больше :) Хотя если использовать только то, что входит в QtCore наверно получится не очень большой, но вот QtGui слишком тяжелый...

Сообщение отредактировал Swappp - 20.1.2008, 17:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2008, 19:08
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


А каков принцип статической сборки, он в мой целевой экзешник засунет dll'ки целиком или только ту их часть что моя прога использует?
И еще, безотнасительно статической/динамической сборки, я так понимаю при компиляции если в неком классе имеется 60 методов, а используется только 10, компилер все равно все засовывает?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 20.1.2008, 19:26
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 20.1.2008, 19:08) *
компилер все равно все засовывает?
Компилятор засовывает всё. Другой вопрос, что выкинет компоновщик. Тут зависит от конкретного компоновщика.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2008, 19:32
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у Меня MinGW32, т.е. GCC.
Я полагаю, что здравую оптимизацию можно ожидать только от платных продуктов.

И еще, слышал есть проект на SF.net типа Qt переписаные под WinAPI т.е. чтобы все минимально весило и максимально быстро ворочилось, кто нибудь может проних что нибудь сказать, насколько это все путнее?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.12.2024, 19:54