Как статически и динамически компилировать плагины Qt - PullRequest
0 голосов
/ 02 августа 2011

Я получил термины динамическая и статическая компиляция в Qt.Может ли кто-нибудь объяснить разницу и как это делается на практике.

1 Ответ

1 голос
/ 03 августа 2011

Во-первых, вам нужно скомпилировать динамический плагин как dll, а статический плагин - как статическую библиотеку.

Так что для статики добавьте что-то подобное в ваш файл проекта

CONFIG *= staticlib # 

Динамическая версия - это просто стандартная dll, т.е.

CONFIG *= dll

Во-вторых, укажите, что вы компилируете плагин:

CONFIG *= qt plugin

Так в чем же разница между этими двумя?

  1. Динамический плагин - это dll, он будет встроен в каталог плагинов, который должен находиться в пути приложения при запуске приложения. Это можно легко забыть при развертывании приложения (и тогда у вас могут не появиться эскизы и т. Д.)
  2. Статический плагин должен быть связан с вашим приложением (обычно с помощью макроса QTPLUGIN в профиле). Простое связывание статической библиотеки плагинов с использованием синтаксиса libs * = plugin_name также работает.

Я предпочитаю 2. потому что это дает вам больший контроль над вашей средой сборки и делает развертывание приложения менее ошибочным ...

...