Реклама

Поиск

Qt WinAPI - Урок 003. Использование windeployqt для сбора DLL

TutorialQtWinAPI, DLL, Qt, windeployqt, windows244

В одном из уроков по Qt уже было показано, как собрать все DLL , применяемые в проекте для подготовки программы к использованию на других ПК, работающих под управлением ОС Windows , а теперь предлагаю ознакомиться с утилитой, которая поставляется вместе с Qt . Данная утилита называется windeployqt и является консольным приложением, которое, как правило, идёт в поставке с компиляторами MinGW или MSVC.

Для использования windeployqt необходимо запустить из консоли, передав в качестве аргумента путь к скомпилированному исполняемому файлу приложения. После чего windeployqt соберёт все необходимые библиотеки в папке, где располагается исполняемый файл.

Утилита windeployqt располагается в папке bin , которая в свою очередь располагается в папке компилятора для Qt. Таким образом, путь к папке может быть следующим:

  • для MinGW - C:\QT\5.5\mingw492_32\bin\windeployqt.exe
  • для MSVC - C:\QT\5.5\msvc2013\bin\windeployqt.exe

Qt WinAPI - Урок 004. QtIFW - Автоматизация WinDeployQt и сборки инсталляторов с Qt Installer Framework

TutorialQtQt, Qt Installer Framework, QtIFW, windeployqt249

Правильный программист - это ленивый программист. Если есть возможность что-то автоматизировать, то обязательно нужно это сделать. Например, можно сделать автоматическое выполнение windeployqt со сборкой онлайн и оффлайн инсталляторов, а также подготовкой репозитория приложения с помощью Qt Installer Framework и чёрной магии QMake .

Для того, чтобы сделать это наиболее красивым образом, необходимо, чтобы проект был организован со структурой subdirs , то есть состоял из нескольких проектов. Нам же не нужно при каждой сборке проекта создавать инсталляторы. Поэтому проект инсталлятора будет отдельным.

Но автоматизацию windeployqt оставим в основном проекте.

Структура проекта

Итак, имеем проект, с двумя подпроектами:

  1. Hello.pro - проект приложения
  2. Installer.pro -  проект инсталлятора

Основной проект представляет собой самый обычный "Hello world", но самый большой интерес заключается в скрипте QMake, который отвечает за windeployqt приложения.

Второй проект имеет минимальную структуру для сборки оффлайн и онлайн инсталляторов, а также сборки репозитория. Скрипт QMake в профайле проекта также содержит необходимую информацию для автоматизации сборки инсталляторов.

Реклама

Реклама