Оригинал: Building a static Qt for Windows using MinGW
Загрузить и установить Qt. Не забыть выбрать набор MinGW:
Запомнить каталог, куда установился MinGW. Например, *D:\Qt\Tools\mingw530_32\bin*
Загрузить скрипт для PowerShell windows-build-qt-static.ps1. Сохранить, например в *D:\Qt*
Выбрать версию Qt в Qt Downloads и запомнить ссылку на неё {Версия}/{Версия}/single/qt-everywhere-opensource-src-{Версия}.zip. Например, http://download.qt.io/official_releases/qt/5.9/5.9.1/single/qt-everywhere-opensource-src-5.9.1.zip
Создать файл windows-build-run.bat со следующим содержимым:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'D:\Qt\windows-build-qt-static.ps1' -QtSrcUrl 'http://download.qt.io/official_releases/qt/5.9/5.9.1/single/qt-everywhere-opensource-src-5.9.1.zip' -QtStaticDir 'D:\Qt\Static591' -MingwDir 'D:\Qt\Tools\mingw530_32' -QtVersion '5.9.1-Static'
где * -QtSrcUrl - ссылка на архив с исходниками; * -QtStaticDir - каталог для установки новой статической сборки Qt; * -MingwDir - путь к набору MinGW.
Иначе при сборке будет получена ошибка типа
ERROR: Invalid command line parameter 'Static'.
mingw32-make: *** No targets specified and no makefile found. Stop.
mingw32-make: *** No rule to make target 'install'.
Запустить cmd.exe, перейти в каталог со скриптами, D:\Qt, запустить windows-build-run.bat
Если выдаётся ошибка на тему SQLite, надо открыть файл windows-build-qt-static.ps1 в редакторе и заменить -qt-sql-sqlite на -sql-sqlite.
Ждём несколько часов.............
Добавляем собранный Qt в Qt Creator: Инструменты → Параметры → Сборка и запуск → Профили Qt → Добавить.... Указать путь к файлу qmake.exe.
Добавляем новый комплект: Инструменты → Параметры → Сборка и запуск → Комплекты → Добавить.... Выбрать компилятор C/C++ = MinGW 5.3.0, отладчик = GNU gdb из MinGW 5.3.0 и свежесобранный профиль Qt.
Выбрать комплект для проект:
После сборки получится изрядно потолстевший исполняемый файл.