Является новым в спокойном Программировании, и я хотел бы разработать программу, которую я хочу запустить в Windows, Linux (человечность) и Mac.
Я слышал, что QT поддерживает разработку mutli-платформенного-приложения,
но мой Вопрос - это,
какая-либо библиотека Qt должна была бы выполнить эти appilication в Ubuntu после того, как я развернул или скомпилировал?
Говоря о Linux, если вы распространяете свое приложение в виде пакетов (deb, rpm), то вы можете использовать правила зависимостей пакетов. Если вы правильно определите эти правила, то менеджер пакетов установит библиотеки Qt, необходимые вам при установке вашего приложения.
Если вы устанавливаете на 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