Все что касалось этой статьи о статической сборке Qt 4.8 относится и к Qt 5.4. Поэтому, чтобы не писать одно и тоже вступление, посмотрите его в той статье. Предлагаю сразу перейти к действию.
Цель та же - хотим создавать переносимые приложения, но уже на Qt 5.4 под Windows с компилятором MinGW.
Поехали!
Найти их можно здесь:
2. Распаковываем скачанный архив, например, в C:\Qt\src
Должно получиться так:
3. Создаем bat-файл (или скачиваем) в директории C:\Qt\src следующего содержания (поправьте пути, если указанные пути не устраивают):
1. Параметры у configure выбраны те, которые предложены в этом руководстве Qt. Возможно вам захочется изменить эти параметры, или вам просто необходимо узнать за что они отвечают, тогда вам сюда - описание параметров configure (ENG).
2. Параметр "-j4" у mingw32-make отвечает за то, на сколько потоков будет произведено распараллеливание компиляции (4 - 4 потока). Рекомендуется ставить число соответствующее количеству ядер компьютера.
4. Отключаем антивирус (иначе время компиляции увеличится втрое!). Запускаем командную строку от имени Администратора и в ней запускаем данный bat-файл. Можно сходить выпить кофе/чай – это надолго.
Если все правильно сделали, то папку с исходниками (C:\Qt\src) можно удалить.
5. Запускаем Qt Creator. Открываем Параметры. Открываем Сборка и запуск. И переходим на вкладку Qt Versions. Щелкаем кнопку Добавить:
6. Ищем скомпилированный новый qmake (C:\Qt\Qt5.4.1_Static\bin\):
7. Даем какое-нибудь имя новому профилю, например, Qt %{Qt:Version} (Static). Жмем Применить:
Примечание:
Библиотеки QML в данной сборке отсутствуют и поэтому появляется фраза “qmlscene не установлен”. В принципе, она работе не мешает, но если хотите ее убрать, то просто скиньте два файла (qmlscene.exe и qmlviewer.exe) в каталог Qt (где находится qmake). Взять их можно из динамической сборки Qt.
8. Переходим во вкладку Комплекты и жмем Добавить:
9. Придумываем имя новому комплекту. Выбираем созданный профиль. Остальное по умолчанию. Жмем Применить и ОК:
10. Всё. Qt настроен на статическую сборку приложения.
Осталось лишь подключить данный комплект к проекту, который необходимо скомпилировать с использованием статической сборки Qt 5.4. А об этом, на примере проекта hello, я писал в своей предыдущей статье по статической сборке Qt 4.8 (пп. 10-18).
Используемый и полезный материал:
Статическая сборка Qt 4.8.7 с MinGW на Windows
Building a static Qt for Windows using MinGW
Qt Configure Options
Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll - C++ Qt
Russian Qt Forum - Статическая сборка Qt 5.4 для Win 7
Статическая сборка dll-библиотеки с модулями QtQuick
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Цель та же - хотим создавать переносимые приложения, но уже на Qt 5.4 под Windows с компилятором MinGW.
Поехали!
Предварительные действия
1. Установить Qt 5.x.x c MinGWПоследовательность действий
1. Скачиваем исходники Qt последней версии (у меня 5.4.1)Найти их можно здесь:
2. Распаковываем скачанный архив, например, в C:\Qt\src
Должно получиться так:
3. Создаем bat-файл (или скачиваем) в директории C:\Qt\src следующего содержания (поправьте пути, если указанные пути не устраивают):
:: Где лежат исходники?Примечание:
SET QT_SRC=C:\Qt\src
:: Куда будем ставить?
SET QT_DIR=C:\Qt\Qt5.4.1_Static
:: Где установлен MinGW?
SET MinGW_DIR=C:\Qt\Qt5.4.1\Tools\mingw491_32
SET QTDIR=%QT_DIR%
SET QT_INSTALL_PREFIX=%QTDIR%
SET PATH=%MinGW_DIR%\opt\bin;%MinGW_DIR%\bin;%PATH%
IF NOT EXIST "%QTDIR%" (mkdir "%QTDIR%")
:: Запись в конфиг файл нужных строк
echo # [QT-STATIC-PATCH] >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_CFLAGS_RELEASE -= -O2 >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo DEFINES += QT_STATIC_BUILD >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
:: Установка English локали чтобы избежать странных эффектов локализации
SET LANG="en"
:: Configure, compile and install Qt.
configure.bat -static -debug-and-release -platform win32-g++ -prefix %QTDIR% ^
-qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl ^
-opensource -confirm-license ^
-make libs -nomake tools -nomake examples -nomake tests
mingw32-make -k -j4
mingw32-make -k install
:: Запись в конфиг файл нужной строки, чтобы qt знал что компилируется статическое приложение и добавил в него все необходимые библиотеки
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_DIR%\mkspecs\win32-g++\qmake.conf
1. Параметры у configure выбраны те, которые предложены в этом руководстве Qt. Возможно вам захочется изменить эти параметры, или вам просто необходимо узнать за что они отвечают, тогда вам сюда - описание параметров configure (ENG).
2. Параметр "-j4" у mingw32-make отвечает за то, на сколько потоков будет произведено распараллеливание компиляции (4 - 4 потока). Рекомендуется ставить число соответствующее количеству ядер компьютера.
4. Отключаем антивирус (иначе время компиляции увеличится втрое!). Запускаем командную строку от имени Администратора и в ней запускаем данный bat-файл. Можно сходить выпить кофе/чай – это надолго.
Если все правильно сделали, то папку с исходниками (C:\Qt\src) можно удалить.
5. Запускаем Qt Creator. Открываем Параметры. Открываем Сборка и запуск. И переходим на вкладку Qt Versions. Щелкаем кнопку Добавить:
6. Ищем скомпилированный новый qmake (C:\Qt\Qt5.4.1_Static\bin\):
7. Даем какое-нибудь имя новому профилю, например, Qt %{Qt:Version} (Static). Жмем Применить:
Примечание:
Библиотеки QML в данной сборке отсутствуют и поэтому появляется фраза “qmlscene не установлен”. В принципе, она работе не мешает, но если хотите ее убрать, то просто скиньте два файла (qmlscene.exe и qmlviewer.exe) в каталог Qt (где находится qmake). Взять их можно из динамической сборки Qt.
8. Переходим во вкладку Комплекты и жмем Добавить:
9. Придумываем имя новому комплекту. Выбираем созданный профиль. Остальное по умолчанию. Жмем Применить и ОК:
10. Всё. Qt настроен на статическую сборку приложения.
Осталось лишь подключить данный комплект к проекту, который необходимо скомпилировать с использованием статической сборки Qt 5.4. А об этом, на примере проекта hello, я писал в своей предыдущей статье по статической сборке Qt 4.8 (пп. 10-18).
Используемый и полезный материал:
Статическая сборка Qt 4.8.7 с MinGW на Windows
Building a static Qt for Windows using MinGW
Qt Configure Options
Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll - C++ Qt
Russian Qt Forum - Статическая сборка Qt 5.4 для Win 7
Статическая сборка dll-библиотеки с модулями QtQuick
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Все что касалось этой статьи о статической сборке Qt 4.8 относится и к Qt 5.4. Поэтому, чтобы не писать одно и тоже вступление, посмотрите его в той статье. Предлагаю сразу перейти к действию.
Цель та же - хотим создавать переносимые приложения, но уже на Qt 5.4 под Windows с компилятором MinGW.
Поехали!
Найти их можно здесь:
2. Распаковываем скачанный архив, например, в C:\Qt\src
Должно получиться так:
3. Создаем bat-файл (или скачиваем) в директории C:\Qt\src следующего содержания (поправьте пути, если указанные пути не устраивают):
1. Параметры у configure выбраны те, которые предложены в этом руководстве Qt. Возможно вам захочется изменить эти параметры, или вам просто необходимо узнать за что они отвечают, тогда вам сюда - описание параметров configure (ENG).
2. Параметр "-j4" у mingw32-make отвечает за то, на сколько потоков будет произведено распараллеливание компиляции (4 - 4 потока). Рекомендуется ставить число соответствующее количеству ядер компьютера.
4. Отключаем антивирус (иначе время компиляции увеличится втрое!). Запускаем командную строку от имени Администратора и в ней запускаем данный bat-файл. Можно сходить выпить кофе/чай – это надолго.
Если все правильно сделали, то папку с исходниками (C:\Qt\src) можно удалить.
5. Запускаем Qt Creator. Открываем Параметры. Открываем Сборка и запуск. И переходим на вкладку Qt Versions. Щелкаем кнопку Добавить:
6. Ищем скомпилированный новый qmake (C:\Qt\Qt5.4.1_Static\bin\):
7. Даем какое-нибудь имя новому профилю, например, Qt %{Qt:Version} (Static). Жмем Применить:
Примечание:
Библиотеки QML в данной сборке отсутствуют и поэтому появляется фраза “qmlscene не установлен”. В принципе, она работе не мешает, но если хотите ее убрать, то просто скиньте два файла (qmlscene.exe и qmlviewer.exe) в каталог Qt (где находится qmake). Взять их можно из динамической сборки Qt.
8. Переходим во вкладку Комплекты и жмем Добавить:
9. Придумываем имя новому комплекту. Выбираем созданный профиль. Остальное по умолчанию. Жмем Применить и ОК:
10. Всё. Qt настроен на статическую сборку приложения.
Осталось лишь подключить данный комплект к проекту, который необходимо скомпилировать с использованием статической сборки Qt 5.4. А об этом, на примере проекта hello, я писал в своей предыдущей статье по статической сборке Qt 4.8 (пп. 10-18).
Используемый и полезный материал:
Статическая сборка Qt 4.8.7 с MinGW на Windows
Building a static Qt for Windows using MinGW
Qt Configure Options
Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll - C++ Qt
Russian Qt Forum - Статическая сборка Qt 5.4 для Win 7
Статическая сборка dll-библиотеки с модулями QtQuick
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Цель та же - хотим создавать переносимые приложения, но уже на Qt 5.4 под Windows с компилятором MinGW.
Поехали!
Предварительные действия
1. Установить Qt 5.x.x c MinGWПоследовательность действий
1. Скачиваем исходники Qt последней версии (у меня 5.4.1)Найти их можно здесь:
2. Распаковываем скачанный архив, например, в C:\Qt\src
Должно получиться так:
3. Создаем bat-файл (или скачиваем) в директории C:\Qt\src следующего содержания (поправьте пути, если указанные пути не устраивают):
:: Где лежат исходники?Примечание:
SET QT_SRC=C:\Qt\src
:: Куда будем ставить?
SET QT_DIR=C:\Qt\Qt5.4.1_Static
:: Где установлен MinGW?
SET MinGW_DIR=C:\Qt\Qt5.4.1\Tools\mingw491_32
SET QTDIR=%QT_DIR%
SET QT_INSTALL_PREFIX=%QTDIR%
SET PATH=%MinGW_DIR%\opt\bin;%MinGW_DIR%\bin;%PATH%
IF NOT EXIST "%QTDIR%" (mkdir "%QTDIR%")
:: Запись в конфиг файл нужных строк
echo # [QT-STATIC-PATCH] >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_CFLAGS_RELEASE -= -O2 >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
echo DEFINES += QT_STATIC_BUILD >> %QT_SRC%\qtbase\mkspecs\win32-g++\qmake.conf
:: Установка English локали чтобы избежать странных эффектов локализации
SET LANG="en"
:: Configure, compile and install Qt.
configure.bat -static -debug-and-release -platform win32-g++ -prefix %QTDIR% ^
-qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl ^
-opensource -confirm-license ^
-make libs -nomake tools -nomake examples -nomake tests
mingw32-make -k -j4
mingw32-make -k install
:: Запись в конфиг файл нужной строки, чтобы qt знал что компилируется статическое приложение и добавил в него все необходимые библиотеки
echo QMAKE_LFLAGS += -static -static-libgcc >> %QT_DIR%\mkspecs\win32-g++\qmake.conf
1. Параметры у configure выбраны те, которые предложены в этом руководстве Qt. Возможно вам захочется изменить эти параметры, или вам просто необходимо узнать за что они отвечают, тогда вам сюда - описание параметров configure (ENG).
2. Параметр "-j4" у mingw32-make отвечает за то, на сколько потоков будет произведено распараллеливание компиляции (4 - 4 потока). Рекомендуется ставить число соответствующее количеству ядер компьютера.
4. Отключаем антивирус (иначе время компиляции увеличится втрое!). Запускаем командную строку от имени Администратора и в ней запускаем данный bat-файл. Можно сходить выпить кофе/чай – это надолго.
Если все правильно сделали, то папку с исходниками (C:\Qt\src) можно удалить.
5. Запускаем Qt Creator. Открываем Параметры. Открываем Сборка и запуск. И переходим на вкладку Qt Versions. Щелкаем кнопку Добавить:
6. Ищем скомпилированный новый qmake (C:\Qt\Qt5.4.1_Static\bin\):
7. Даем какое-нибудь имя новому профилю, например, Qt %{Qt:Version} (Static). Жмем Применить:
Примечание:
Библиотеки QML в данной сборке отсутствуют и поэтому появляется фраза “qmlscene не установлен”. В принципе, она работе не мешает, но если хотите ее убрать, то просто скиньте два файла (qmlscene.exe и qmlviewer.exe) в каталог Qt (где находится qmake). Взять их можно из динамической сборки Qt.
8. Переходим во вкладку Комплекты и жмем Добавить:
9. Придумываем имя новому комплекту. Выбираем созданный профиль. Остальное по умолчанию. Жмем Применить и ОК:
10. Всё. Qt настроен на статическую сборку приложения.
Осталось лишь подключить данный комплект к проекту, который необходимо скомпилировать с использованием статической сборки Qt 5.4. А об этом, на примере проекта hello, я писал в своей предыдущей статье по статической сборке Qt 4.8 (пп. 10-18).
Используемый и полезный материал:
Статическая сборка Qt 4.8.7 с MinGW на Windows
Building a static Qt for Windows using MinGW
Qt Configure Options
Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll - C++ Qt
Russian Qt Forum - Статическая сборка Qt 5.4 для Win 7
Статическая сборка dll-библиотеки с модулями QtQuick
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
0 коммент.:
Отправить комментарий