Qt кроссплатформенная разработка? - PullRequest
3 голосов
/ 02 сентября 2011

У меня просто небольшой вопрос по поводу запуска приложений, созданных Qt, в разных операционных системах.Как обычному пользователю я должен установить Qt Framework для запуска приложений Qt?Я имею в виду, что я создал приложение Qt с использованием Windows, затем я сделал сборку для Linux.Нужно ли мне устанавливать каркас Qt на компьютере под управлением Linux для запуска этого приложения?Или есть способ упаковать все необходимые библиотеки в установщик приложения.

С наилучшими пожеланиями

Ответы [ 3 ]

3 голосов
/ 02 сентября 2011

Вы можете доставить необходимые динамические библиотеки с вашим приложением, как описано здесь: http://doc.qt.io/qt-5/deployment.html

Поскольку Qt не является системной библиотекой, ее необходимо распространять вместе с вашим приложением;минимум - перераспределение времени выполнения библиотек, используемых приложением.Однако, используя статическое связывание, среда выполнения Qt компилируется в исполняемый файл.

0 голосов
/ 02 сентября 2011

Для Linux, я думаю, вы, как правило, гарантируете, что пакеты Qt были установлены во время установки (т.е. сделайте их обязательными для пакета, который вы предоставляете).В Mac OS вам необходимо упаковать .so (общие объекты) в ваше приложение.Под Windows вы делаете то же самое (предоставляете .dll) и устанавливаете их вместе с приложением (не в системных папках).

Проблема со статической связью, на которую ссылается @ cbamber85, заключается в соответствии LGPLЛицензия, в которой можно ссылаться на библиотеки во время выполнения, но не во время компиляции (т. е. использовать .so / .dll, но не файлы .a).

0 голосов
/ 02 сентября 2011

Зависит от того, что вы подразумеваете под «каркасом», вам потребуются библиотеки времени выполнения, если только вы не заплатили Nokia за лицензию, разрешающую статическое связывание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...