Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [Решено]Сборка в Qt (Win\Linux)  (Прочитано 3551 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tantal

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
[Решено]Сборка в Qt (Win\Linux)
« : 09 Апреля 2011, 16:55:53 »
Здравствуйте. Имеется следующая ситуация. Начал пробовать программировать с использованием библиотеки Qt, для чего было установлено:

1. В линуксе (КUbuntu 10.04) - Qt Creator (и прочие приложения типа Qt Assistant), который вытянул за собой из репозитория всё необходимое.
2. В винде (ХР)  - Qt SDK, скачанный с офсайта.

Проблема состоит в том, что после сборки и запуска приложения в винде оно начинает просить целую серию библиотек, начиная от библиотек компилятора Ming и кончая GUI-библиотеками самого Qt весом >120МБ. Копировать все библиотеки для приложения ~200кБ вряд ли имеет смысл. Опять же в линуксе всё нормально запускается после сборки, да и винде тоже, НО если приложение запущено из IDE. Хотелось бы узнать, каким образом это можно вылечить. Кто сталкивался с подобной проблемой или знает решение отпишитесь, пожалуйста.

Заранее спасибо за ответы.
« Последнее редактирование: 10 Апреля 2011, 07:51:37 от Tantal »

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Сборка в Qt (Win\Linux)
« Ответ #1 : 09 Апреля 2011, 19:37:07 »
Если используете qt-шные библиотеки (вызываете функции прочее), то тянуть за собой библиотеки нужно.
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн scsiman

  • Активист
  • *
  • Сообщений: 344
    • Просмотр профиля
Re: Сборка в Qt (Win\Linux)
« Ответ #2 : 09 Апреля 2011, 20:47:46 »
Собрать в винде как -static? Если позволяет лицензия. Будет, правда, exe-файл немеряного размера...
Dell Studio XPS 16, Ubuntu 16.04 LTS (Home).
HP nx6110, Ubuntu 8.04 LTS => 10.04 LTS (Home).

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Сборка в Qt (Win\Linux)
« Ответ #3 : 09 Апреля 2011, 22:06:08 »
Для винды кроме тягания кучи .dll или сборки в статик - никак.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Tantal

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Сборка в Qt (Win\Linux)
« Ответ #4 : 10 Апреля 2011, 07:11:25 »
Спасибо за ваши ответы. В конечном итоге скачал исходники библиотеки Qt с офсайта + MinGW-компилятор 4.4.0 оттуда же. Нагуглил как всё это дело собрать в статике. Скомпилировал библиотеку статически, установил IDE Qt-Creator. Qt-Сreator настроил на использование статической версии библиотеки (теперь можно переключаться между статической и динамической сборкой для любых проектов).

Вобщем говоря, сборка простенького примера в винде в статике получилась около 10МБ  :), после сжатия UPX'ом 3МБ, зато приложение не тянет за собой библиотеки, ни Qt, ни MinGW.

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Сборка в Qt (Win\Linux)
« Ответ #5 : 10 Апреля 2011, 09:07:46 »
Спасибо за ваши ответы. В конечном итоге скачал исходники библиотеки Qt с офсайта + MinGW-компилятор 4.4.0 оттуда же. Нагуглил как всё это дело собрать в статике. Скомпилировал библиотеку статически, установил IDE Qt-Creator. Qt-Сreator настроил на использование статической версии библиотеки (теперь можно переключаться между статической и динамической сборкой для любых проектов).

Вобщем говоря, сборка простенького примера в винде в статике получилась около 10МБ  :), после сжатия UPX'ом 3МБ, зато приложение не тянет за собой библиотеки, ни Qt, ни MinGW.
А теперь сравните сколько ОП ест программа, если бы она была не сжата UPX и сколько, когда сжата.

Оффлайн Tantal

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: [Решено]Сборка в Qt (Win\Linux)
« Ответ #6 : 10 Апреля 2011, 18:33:28 »
А теперь сравните сколько ОП ест программа, если бы она была не сжата UPX и сколько, когда сжата.

Действительно, несжатая программа занимает в 2 раза меньше ОП. Спасибо за наставление :)

 

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