Развертывание приложений Qt в MS Windows

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Как указано в Асистенте, библиотека Qt не является системной. Т.е. она не распространяется штатно с ОС MS Windows. Следовательно при распространении программ, написаных на Qt для ОС MS Windows необходимо вместе с вашей программой распространять и библиотеки (dll'ки) самой Qt.

Содержание


Общее описание

При распространении потребуются следующие dll'ки:

  • dll'ки компилятора (для MinGW32 - mingwm10.dll);
  • dll'ки Qt из катлога %QTDIR%/bin/;
  • dll'ки плагинов Qt из катлога %QTDIR%/Plugins/

dll'ки Qt

Из катлога %QTDIR%/bin/ необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:

QT += xml

то необходимо взять и QtXml4.dll.

Замечание Замечание: Если вы используете отладочную версию своей программы (CONFIG += debug), то нужно взять dll'ки с буквой "d":
QtCored4.dll, QtGuid4.dll и QtXmld4.dll
для примера выше.

Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.

dll'ки плагинов Qt

С плагинами Qt дела обстоят несколько сложнее. Причиной тому является факт жестко зашитых, в dll'ки, путей к плагинам Qt. Этот путь всегда выглядит так: %QTDIR%/Plugins/, где %QTDIR% - каталог, в котором собрана/установлена та версия библиотеки Qt, которая использовалась при сборке приложения. Следовательно, при запуске приложения, Qt ядро вашей программы (QtCore4.dll) будет пытатся найти плагины Qt в каталоге %QTDIR%/Plugins/. Вероятнее всего на компьютере пользователя такого каталога нет. Существует несколько способов указать приложению, где искать плагины. Далее описаны эти способы.

Копирование плагинов в каталог с программой

Как сказано в Асистенте (plugins-howto.html)

« Когда приложение запущено, Qt сначала просматривает каталог исполняемого файла приложения в качестве pluginsbase. Например, если приложение находится в C:\Program Files\MyApp и имеет подключаемый модуль стиля, Qt будет искать в C:\Program Files\MyApp\styles. »
Другими словами, каталоги плагинов Qt (например, imageformats или sqldrivers) необходимо скопировать в каталог, где расположен исполняемый фал приложения/



См. также