Спокойная Программа развертывается к многоплатформенному, как?

Является новым в спокойном Программировании, и я хотел бы разработать программу, которую я хочу запустить в Windows, Linux (человечность) и Mac.

Я слышал, что QT поддерживает разработку mutli-платформенного-приложения,

но мой Вопрос - это,

какая-либо библиотека Qt должна была бы выполнить эти appilication в Ubuntu после того, как я развернул или скомпилировал?

6
задан Nuno 17 January 2014 в 16:27
поделиться

2 ответа

Говоря о Linux, если вы распространяете свое приложение в виде пакетов (deb, rpm), то вы можете использовать правила зависимостей пакетов. Если вы правильно определите эти правила, то менеджер пакетов установит библиотеки Qt, необходимые вам при установке вашего приложения.

0
ответ дан 17 December 2019 в 22:12
поделиться

Если вы устанавливаете на Ubuntu, и поэтому используете .deb пакет, то ваша работа проста, так как вам просто нужно потребовать qt в качестве зависимости, и apt автоматически установит его по мере необходимости.

Однако Windows и Mac не имеют никакого "хорошего" слоя управления программным обеспечением, поэтому у вас нет выбора, кроме как включить необходимые библиотеки Qt DLL в ваш двоичный файл или скомпилировать статический. В Windows вам просто нужно убедиться, что DLL находятся в том же каталоге, что и ваша программа. На Mac, однако, требуется выполнить некоторую перелинковку. Это большая проблема, но, к счастью, Qt поставляется с инструментом под названием macdeployqt, который делает это за вас.

Итак, согласно моему опыту, Linux - самая простая платформа для развертывания, за ней следует Windows, а Mac - последняя.

Ссылка на документацию по развертыванию Qt, приведенная выше, является хорошей отправной точкой. Если вам нужен пример, я написал пару сценариев для сборки двоичных файлов моей программы для Windows. Вы можете взглянуть на них для начала.

Windows installer:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/tagainijisho.nsi

1
ответ дан 17 December 2019 в 22:12
поделиться