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

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

Страниц: 1 ... 5 6 [7] 8 9   Вниз
  Печать  
Автор Тема: Статическая сборка Qt 5.4 для Win 7. Сжатие exe до мин. размера с помощью upx  (Прочитано 127910 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #90 : Декабрь 19, 2014, 12:02 »

А при перезапуске системы кешируются?
Я имею в виду pagefile
Нет, часто заметно что "первый запуск" значительно дольше
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #91 : Декабрь 19, 2014, 12:05 »

Можно самому замутить кеширование - поргу, которая юзает либы добавить в автозапуск. В итоге, после загрузки винды либы будут уже подгружены.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
8Observer8
Гость
« Ответ #92 : Декабрь 19, 2014, 12:21 »

Так он профессионально разработкой калькуляторов занимается? Смеющийся На чём именно он пишет? Просто интересно. Подозреваю очередного адепта Делфи, пишущего для Windows-only.
Про калькулятор написала одна особа, которая занимается изучением OpenGL и шейдеров. Страшно ненавидит Qt и бесится, если кто-то упоминает о нём. Пишет на WinAPI (на линуксе, вроде, она тоже на чём-то пишет). Вот случайно её пример сохранился:
Записан
8Observer8
Гость
« Ответ #93 : Декабрь 19, 2014, 12:22 »

- удаляем Qt 5.4 через панел задач

- удаляем папку C:\Qt\Qt5.4.0

- ставим заново Qt


Вам не кажется, что это как-то по хардкору  Улыбающийся
Пока другого варианта не нашёл. А этот вполне рабочий
Что вы этим действием хотите сделать?
Убрать "грязь" после сборки


Вы, блин, сравните еще с прогой на Шарпе. Мизер весит. Вот только никто не учитывает, что надо сначала 200-300 метров .Net поставить.
Меня заставили сравнить с Visual Basic (я по ошибке туда попал). Пролистайте до моего сообщения: http://www.cyberforum.ru/visual-basic/thread1294084.html

Аргумент в пользу статики: на киберфоруме ограничение на прикрепляемый файл 10 MБайт. Такой может быть мой ответ в какой-нибудь теме: вот мой вариант этой игрушки. Оцените. Либо: мой вариант приложения (были нередко случаи, когда человеку нужно небольшое приложение и он пишет в личку за доработкой). Человек быстренько скачал. Без всяких вопросов запустил и попробовал. Если дать ссылку на архив 20 МБайт (Yandex.Disk или Google.Drive), а при разархивировании он будет 50 МБайт, то это вызывает шок: "как это так? такое маленькое приложение, а столько весит?!" На мой взгляд лучше дублировать, то есть один архив загружать на сам форум, а другой хранить на Yandex.Disk или Google.Drive и давать ссылку. Польза в том, что моё приложение не пропадёт, если я изменю ссылку на дисках яндекс и гугл

Но на этих дисках размер ограничен. Это можно обойти. Для того, чтобы не дублировать файлы я могу хранить общие dll в отдельном архиве. И это, кстати, будет намного экономнее, чем статическая сборка, получается  В замешательстве Пользователю нужно будет кинуть две ссылки на общие dll и на архив с exe (вместе с дополнительными dll). Правда, приходится объяснять, что для запуска нужно exe кинуть к dll (или наоборот). Частенько это вызывает проблемы. Это довольно нестандартное решение для маленького оконного приложения. И когда человек наконец-то понял, что dll должны лежать именно рядом с exe (а не в папочке dlls, как он скачал). Должна быть маленькая инструкция (для примеров и небольших приложений - установку я исключаю). И вот он видит, что это маленькое оконное приложение состоит из кучи библиотек и занимает почти 50 МБайт - обычно это вызывает небольшой шок. Поэтому для маленьких приложений я делаю статическую сборку
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #94 : Декабрь 19, 2014, 12:38 »

Убрать "грязь" после сборки
А где эта грязь происходит конкретно? В каких папках?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #95 : Декабрь 19, 2014, 12:39 »

Так он профессионально разработкой калькуляторов занимается? Смеющийся На чём именно он пишет? Просто интересно. Подозреваю очередного адепта Делфи, пишущего для Windows-only.
Про калькулятор написала одна особа, которая занимается изучением OpenGL и шейдеров. Страшно ненавидит Qt и бесится, если кто-то упоминает о нём. Пишет на WinAPI (на линуксе, вроде, она тоже на чём-то пишет). Вот случайно её пример сохранился:

Ненавижу такие простыни. Буэээ.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #96 : Декабрь 19, 2014, 12:42 »

8Observer8, да сделай ты просто инсталлятор в том же Inno Setup для Кьютовых либ, который будет их куда-нибудь инсталлить и в PATH прописывать. Тогда вообще ничего пользователю делать не надо будет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
8Observer8
Гость
« Ответ #97 : Декабрь 19, 2014, 12:50 »

Цитировать
да сделай ты просто инсталлятор в том же Inno Setup для Кьютовых либ, который будет их куда-нибудь инсталлить и в PATH прописывать. Тогда вообще ничего пользователю делать не надо будет
Не знаю как организавать это. С одной стороны, если пользователь поставил, то для обновления я могу ему exe кидать. Но с другой, как я буду хранить эти приложения на дисках для раздачи?

Убрать "грязь" после сборки
А где эта грязь происходит конкретно? В каких папках?
Я понял, к чему вы клоните. Грязь, скорее всего, в папке с исходниками. Будем считать, что переустановка Qt - это восстановление исходников и config-файла. У меня ещё приложение одно перестало запускаться, как оказалось это не потому что было что-то испорчено. Да, согласен, что переустанавливать Qt - это слишком, но мне так проще было. Надо подумать, как лучше

Я там про ошибки ещё писал, которые проигнорировал. И текст их привёл. Кто-нибудь может пояснить, что это такое и как от них избавиться?

Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #98 : Декабрь 19, 2014, 12:56 »

Про калькулятор написала одна особа, которая занимается изучением OpenGL и шейдеров. Страшно ненавидит Qt и бесится, если кто-то упоминает о нём. Пишет на WinAPI (на линуксе, вроде, она тоже на чём-то пишет). Вот случайно её пример сохранился:
Очень даже симпатично, а для девчонки вообще прекрасно. Не гадит эксепшнами, не сует std куда ни попадя, в общем - делом занимается, а не халтурит как некоторые  Улыбающийся
Записан
8Observer8
Гость
« Ответ #99 : Декабрь 19, 2014, 13:10 »

Про калькулятор написала одна особа, которая занимается изучением OpenGL и шейдеров. Страшно ненавидит Qt и бесится, если кто-то упоминает о нём. Пишет на WinAPI (на линуксе, вроде, она тоже на чём-то пишет). Вот случайно её пример сохранился:
Ненавижу такие простыни. Буэээ.
По поводу ненависти к Qt той особы (и не только её). Про мнения о сочетании Qt обёрток и OpenGL почитайте мою тему: http://www.gamedev.ru/code/forum/?id=195948

P.S. Мне хочется, чтобы мы не тратили время на доказательства, что Qt не дерьмо. Лучше делом доказывать в виде продуктов своего труда
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #100 : Декабрь 19, 2014, 13:52 »

Я понял, к чему вы клоните. Грязь, скорее всего, в папке с исходниками. Будем считать, что переустановка Qt - это восстановление исходников и config-файла. У меня ещё приложение одно перестало запускаться, как оказалось это не потому что было что-то испорчено. Да, согласен, что переустанавливать Qt - это слишком, но мне так проще было. Надо подумать, как лучше
Ну да. Я сделал резерв qmake.conf и папки src.
К слову, src копируется долго из-за мелких файлов, поэтому как только винда построила карту копирования и приступила к непосредственному копированию я запустил configure, чтобы время не терять.
После установки можно затереть свои изменения и вернуть всё как было.
А ещё проще после установки сделать mingw32-make clean...

Я там про ошибки ещё писал, которые проигнорировал. И текст их привёл. Кто-нибудь может пояснить, что это такое и как от них избавиться?
Вы так написали, как будто это нормально, что он сыпет ошибки
Записан
8Observer8
Гость
« Ответ #101 : Декабрь 19, 2014, 14:36 »

Ну да. Я сделал резерв qmake.conf и папки src.
Спасибо! Исправил

Вначале инструкции добавил:

- переходим в каталог "C:\Qt\Qt5.4.0\5.4\mingw491_32\mkspecs\win32-g++" и создаём резервную копию файла "qmake.conf". Например, с именем "qmake.conf Copy"

- создаём резервную копию исходников Qt, то есть каталога: C:\Qt\Qt5.4.0\5.4\Src\


Заменил эти строчки инструкции

- удаляем Qt 5.4 через панел задач

- удаляем папку C:\Qt\Qt5.4.0

- ставим заново Qt

На эти:

- удаляем файл C:\Qt\Qt5.4.0\5.4\mingw491_32\mkspecs\win32-g++\qmake.conf и восстанавливаем резервный "qmake.conf"

- удаляем каталог C:\Qt\Qt5.4.0\5.4\Src и восстанавливаем резервный
Записан
8Observer8
Гость
« Ответ #102 : Декабрь 19, 2014, 14:40 »

Я там про ошибки ещё писал, которые проигнорировал. И текст их привёл. Кто-нибудь может пояснить, что это такое и как от них избавиться?
Вы так написали, как будто это нормально, что он сыпет ошибки
Что с ошибками будем делать? Я предложил игнорировать, но это только на руку ненавистника Qt. Да, а больше всего хочется, чтобы красиво собралось. Или хотя бы точно знать, что эти ошибки не влияют ни на что (я почти на 100% уверен, что не влияют) Кто не видел ошибки, то посмотрите в первом сообщении с инструкцией. Ошибки выбрасываются в самом конце сборки
« Последнее редактирование: Декабрь 19, 2014, 14:44 от 8Observer8 » Записан
8Observer8
Гость
« Ответ #103 : Декабрь 19, 2014, 15:25 »

8Observer8, да сделай ты просто инсталлятор в том же Inno Setup для Кьютовых либ, который будет их куда-нибудь инсталлить и в PATH прописывать. Тогда вообще ничего пользователю делать не надо будет.
То есть у меня отдельно будет инсталятор для общих либ, а новый пользователь может один раз поставить эти либы и потом скачивать мои приложения в виде лёгкого exe (ну и возможно парочки либ). Я правильно понял идею?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #104 : Декабрь 19, 2014, 15:26 »

8Observer8, да сделай ты просто инсталлятор в том же Inno Setup для Кьютовых либ, который будет их куда-нибудь инсталлить и в PATH прописывать. Тогда вообще ничего пользователю делать не надо будет.
То есть у меня отдельно будет инсталятор для общих либ, а новый пользователь может один раз поставить эти либы и потом скачивать мои приложения в виде лёгкого exe (ну и возможно парочки либ). Я правильно понял идею?
Совершенно верно.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: 1 ... 5 6 [7] 8 9   Вверх
  Печать  
 
Перейти в:  


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