В OS X это хороший способ динамической сборки и последующей обработки получившегося «.app» с помощью инструмента macdeployqt
, который поставляется с Qt, начиная с 4.5.
Это скопирует фреймворки Qt, используемые вашим приложением, в комплект приложения, что приведет к созданию пакета большего размера, чем сборка статической версии вашего приложения.
Вот что вы можете сделать, чтобы получить наименьший размер файла, возможно, при динамической сборке:
- Прежде всего, убедитесь, что вы включили только то, что вам нужно (в
QT += core gui network xml
строках файла project.pro).
- Откройте комплект приложений и удалите все ненужные «подключаемые модули Qt» из комплекта.
macdeployqt
автоматически компилирует все подключаемые модули Qt, что может быть довольно громоздким.
- Убедитесь, что вы создаете свое приложение в режиме release . В противном случае ваше приложение может быть связано с библиотеками отладки инфраструктуры Qt4, и они действительно большие (например, более 90 МБ для библиотеки отладки по сравнению с 16 МБ для вариант выпуска без отладочных символов). Это может быть то, что произошло в вашем случае.
- Если у вас большой двоичный файл приложения, вы можете использовать UPX для сжатия исполняемого файла на 40-50%.
Кроме этого, вы должны использовать сжатые образы дисков для развертывания приложения.
Один из моих проектов использует QtGui , QtNetwork , QtCore и QtXml , а размер полученного пакета составляет около 16 МБ.
Надеюсь, это поможет.