Редактирование: Развертывание приложений Qt в MS Windows
Материал из Wiki.crossplatform.ru
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 4: | Строка 4: | ||
== Общее описание == | == Общее описание == | ||
При распространении потребуются следующие dll'ки: | При распространении потребуются следующие dll'ки: | ||
- | * dll'ки компилятора (для MinGW32 - mingwm10 | + | * dll'ки компилятора (для MinGW32 - mingwm10.dll); |
* dll'ки Qt из катлога {{cmd|%QTDIR%/bin/}}; | * dll'ки Qt из катлога {{cmd|%QTDIR%/bin/}}; | ||
* dll'ки плагинов Qt из катлога {{cmd|%QTDIR%/Plugins/}} | * dll'ки плагинов Qt из катлога {{cmd|%QTDIR%/Plugins/}} | ||
Строка 10: | Строка 10: | ||
== dll'ки Qt == | == dll'ки Qt == | ||
Из катлога {{cmd|%QTDIR%/bin/}} необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись: | Из катлога {{cmd|%QTDIR%/bin/}} необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись: | ||
- | : QT += xml | + | :: QT += xml |
то необходимо взять и QtXml4.dll.<br /> | то необходимо взять и QtXml4.dll.<br /> | ||
- | + | '''''Заметьте''''', если вы используете отладочную версию своей программы (CONFIG += debug), то нужно взять dll'ки с буквой "'''d'''": | |
- | : QtCore'''d'''4.dll, QtGui'''d'''4.dll и QtXml'''d'''4.dll | + | :: QtCore'''d'''4.dll, QtGui'''d'''4.dll и QtXml'''d'''4.dll |
- | для примера выше | + | для примера выше. |
- | + | ||
- | + | ||
== dll'ки плагинов Qt == | == dll'ки плагинов Qt == | ||
- | С плагинами Qt дела обстоят несколько сложнее. Причиной тому является факт жестко зашитых, в dll'ки, путей к плагинам Qt. Этот путь всегда выглядит так: {{cmd|%QTDIR%/Plugins/}}, где %QTDIR% - каталог, в | + | С плагинами Qt дела обстоят несколько сложнее. Причиной тому является факт жестко зашитых, в dll'ки, путей к плагинам Qt. Этот путь всегда выглядит так: {{cmd|%QTDIR%/Plugins/}}, где %QTDIR% - каталог, в которой собрана версия библиотеки Qt использовавшая при сборке приложения. Следовательно, при запуске приложения, Qt ядро вашей программы (QtCore.dll) будет пытатся найти плагины Qt в каталоге {{cmd|%QTDIR%/Plugins/}}. Вероятнее всего на компьютере пользователя такого каталога нет. Существует несколько способов обойти эту проблему. Далее описаны эти способы. |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
=== Указание путей в самой программе === | === Указание путей в самой программе === | ||
- | В каталоге, куда устанавливается ваша программа, можно создать такой подкаталог {{cmd|%PATH_TO_APP%/QtPlugins/}},<br /> | + | В каталоге, куда устанавливается ваша программа, можно создать такой подкаталог<br /> |
+ | {{cmd|%PATH_TO_APP%/QtPlugins/}},<br /> | ||
где %PATH_TO_APP% - путь к каталогу приложения. | где %PATH_TO_APP% - путь к каталогу приложения. | ||
В этот каталог необходимо скопировать из каталога {{cmd|%QTDIR%/Plugins/}} все содержимое или только то, что вам действительно нужно.<br /> | В этот каталог необходимо скопировать из каталога {{cmd|%QTDIR%/Plugins/}} все содержимое или только то, что вам действительно нужно.<br /> | ||
- | + | '''Замечание:''' ''обязательно, сохраните структуру (иерархию) вложеных каталогов!'' | |
Затем вам нужно добавить несколько строк кода в ваше приложение. Функция '''main()''' должна выглядеть так: | Затем вам нужно добавить несколько строк кода в ваше приложение. Функция '''main()''' должна выглядеть так: | ||
- | + | {{code|qt|code= | |
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
{ | { | ||
Строка 47: | Строка 41: | ||
... | ... | ||
} | } | ||
- | + | }} | |
- | + | ||
- | |||
=== Использование файла qt.config === | === Использование файла qt.config === | ||
''(предстоит написать)'' | ''(предстоит написать)'' | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== См. также == | == См. также == | ||
- | |||
* [[Qt/FAQ]] | * [[Qt/FAQ]] | ||
* [[Установка Qt4.3.x]] | * [[Установка Qt4.3.x]] | ||
- | * [http://doc.crossplatform.ru/qt/4. | + | * [http://doc.crossplatform.ru/qt/4.3.2/deployment.html Документация Qt 4.3.x - Развертывание приложений Qt] |
[[Категория:Qt FAQ]] | [[Категория:Qt FAQ]] |