Qt creator сборка windows

Статическая линковка Qt 5.x.x с MinGW32 в Windows (сборка в один exe’шник)

Доброго времени суток, хабравчане!

Я уверен, что все заметили, когда делали деплой своей программы через windeployqt.exe, программа зависит от разных динамических и qt’шных библиотек. Вследствие чего, развертка на других компьютерах становится неудобной. Почему? Приходится держать сам exe’шник в папке с нужными библиотеками. Разумеется, можно умудриться и без статической линковки решить эту проблему. Согласитесь, неудобно, да и каждый раз нужно лишние телодвижения делать. Проще один раз запариться и потом не делать лишних движений. Еще один плюс статической линковки — размер файла. При динамической линковке сам exe’шник весит примерно от 1 МБ до 7-8 МБ, а с окружением до 70 МБ может спокойно дойти, даже если проект небольшой. При статической линковке есть только exe’шник, который весит примерно в 2 раза меньше, чем окружение при динамической линковке.

Для сборки необходимы:

  • Qt 5.x.x с включенными компонентами (если Qt уже был установлен, нужные компоненты можно установить с помощью Qt Maintenance Tool):
  • Qt — Qt 5.x — MinGW x.x.x 32 bit
  • Qt — Qt 5.x — Sources
  • Qt — Tools — MinGW
  • Perl (Strawberry Perl, к примеру). Я использую strawberry-perl-5.30.2.1-32bit.
    Проверить, что путь к исполняемому файлу Perl прописан в переменной окружения PATH. Этот пункт можно пропустить, но лучше проверить.
  • Python 3.8

Путь установки Qt неважен, у меня он установлен на диске D. Убедитесь, что объем доступной памяти вам хватит. Нужно как минимум 30 ГБ свободного места.

  1. Переходите в директорию, где папка Src (D:\Qt\5.x.x\Src);
  2. Там создайте папку static (D:\Qt\5.х.х\static);
  3. Папку Src копируйте в папку static. Получится D:\Qt\5.x.x\static\Src. Дальнейшие действия будут там, в Папке Src;
  4. Создайте папку mingwXX_32 (у меня, например, mingw73_32). Получится D:\Qt\5.x.x\static\mingwXX_32;
  5. Редактируйте файл qmake.conf, который находится в D:\Qt\5.х.х\static\Src\qtbase\mkspecs\win32-g++.

В самый конец файла, после строки load(qt_config) допишите с новой строки эти команды:

  • Сохраниите файл qmake.conf;
  • Откройте (ВНИМАНИЕ! НЕ CMD! НЕ CMD! НЕ CMD!) командную строку MinGW. В поисковике компьютера (на панели задач) пишите mingw.
    Командная строка MinGW будет выдана как Qt 5.x.x (MinGW x.x.x 32-bit)
  • Введите в командную строку MinGW поочередно следующие команды:
    set LANG=en

    cd /d %QT_INSTALL_PREFIX%\..\Src (именно такая строка без изменений)

    Тут стоит обратить внимание на опцию -no-ssl — это значит что Qt будет собран без поддержки SSL.

    Если никаких ошибок нету, можно продолжать:

  • Введите mingw32-make -k -j4
    Нереально длительный процесс, можете смело забыть про него на 4 часа ориентировачно, от скорости чтения/записи диска не зависит, а зависит от процессора. Там где -j4 вместо 4 поставьте число ядер вашего процессора.
  • Введите mingw32-make -k install
    В результате получаем статическое окружение в D:\Qt\5.x.x\statiс\mingwXX_32;
  • Настройка Qt Creator:
    • В верхнем меню Инструменты -> Параметры -> Профили Qt
    • Добавить -> D:\Qt\5.х.х\static\mingw73_32\bin\qmake.exe -> Применить
    • Комплекты -> Добавить
    • Название: Qt static x32 (или какое угодно)
    • Тип Устройства: Desktop
    • Устройство: Локальный ПК
    • Корень образа: D:\Qt\5.х.х\static
    • Компилятор:
      a) для С: MinGW x.x.x 32-bit for C
      b) для С++: MinGW x.x.x 32-bit for C++
    • Профиль Qt: Qt static x32 (название профиля, которое вы указали при добавлении профиля)
    • Применить -> Ок

  • Остается только пересобрать свой проект с новым комплектом.
  • Дополнительная информация. У меня:

    • Qt 5.14.1
    • MinGW 7.3.0 32-bit (mingw73_32)
    • Python 3.8 x32
    • strawberry-perl-5.30.2.1-32bi
    • Windows 10 Pro x64

    Полет нормальный.

    Брал информацию отсюда:

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

    Qt Documentation

    Contents

    This page describes the process of configuring and building Qt for Windows. Before building, there are some requirements that are given in more detail in the Qt for Windows — Requirements document.

    You can download the Qt 5 sources from the Downloads page. For more information, visit the Getting Started with Qt page.

    Step 1: Install the License File (Commercially Licensed Qt Only)

    If you use Qt with a commercial license, the Qt tools look for a local license file. If you are using a binary installer or the commercial Qt Creator, your licenses are automatically fetched and stored in your local user profile ( %USERPROFILE%\AppData\Roaming\Qt\qtlicenses.ini file).

    If you do not use any binary installer or Qt Creator, you can download the respective license file from your Qt Account Web portal and save it to your user profile as %USERPROFILE%\.qt-license . If you prefer a different location or file name, you need to set the QT_LICENSE_FILE environment variable to the respective file path.

    Step 2: Unpack the Archive

    Uncompress the files into the directory you want Qt installed; e.g. C:\Qt\%VERSION% .

    Note: The install path must not contain any spaces or Windows specific file system characters.

    Step 3: Set the Environment Variables

    We recommend creating a desktop link that opens a command prompt with the environment set up similar to the Command Prompt menu entries provided by Visual Studio. This is done by creating an application link passing a .cmd file setting up the environment and the command line option /k (remain open) to cmd.exe .

    Assuming the file is called qt5vars.cmd and the Qt folder is called Qt-5 and located under C:\Qt :

    A desktop link can then be created by specifying the command %SystemRoot%\system32\cmd.exe /E:ON /V:ON /k C:\Qt\qt5vars.cmd as application and C:\Qt\Qt-5 as working directory.

    Note: Setups for MinGW are similar; they differ only in that the bin folder of the installation should be added to the path instead of calling the Visual Studio setup script. For MinGW, please make sure that no sh.exe can be found in the path, as it affects mingw32-make .

    Settings required by the additional libraries (see Qt for Windows — Requirements) should also go this file below the call to the Windows SDK setup script.

    Step 4: Build the Qt Library

    The default behavior of configure is to create an in-source build of Qt 5. If you want to install Qt 5 to a separate location, you need to specify the command line option -prefix . Alternatively, the command line option -developer-build creates an in-source build for developer usage.

    To configure the Qt library for a debug build for your machine, type the following command in the command prompt:

    The Configure Options page contains more information about the configure options.

    To build Qt using jom, type:

    If you do not have jom installed, type:

    If an installation prefix was given, type jom install , nmake install or mingw32-make install .

    Note: If you later need to reconfigure and rebuild Qt from the same location, ensure that all traces of the previous configuration are removed by entering the build directory and typing nmake distclean before running configure again.

    Parallel Builds

    jom is a replacement for nmake which makes use of all CPU cores and thus speeds up building.

    Step 5: Build the Qt Documentation

    For the Qt reference documentation to be available in Qt Assistant, you must build it separately:

    This will build the documentation in the build folder. If you have installed Qt in a separate location, you will also need to install the documentation:

    В© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

    Qt creator сборка windows

    Статическая сборка проекта Qt под Windows.

    Отвязка проекта, сделанного в Qt, от .dll зависимости.

    При создании проекта релиза, программа не будет запускаться на другом компьютере без дополнительных библиотек. Это не очень удобно, потому как при потере даже одной, ваш знакомый не увидит ваше творчество. К тому же, они придают программе дополнительный размер. И это тоже минус.

    Смотрим данное видео.

    Пошаговая настройка статической сборки Qt для Windows:

    1. Скачиваем Qt c http://www.qt.io/download-open-source/#section-2 (Открывается в новом окне)

    2. Устанавливаем Qt. При установке нажимаем кнопку «Выбрать все»

    3. Переходим в папку C:\Qt\ Qt5.5.0 \ 5.5 \Src\qtbase\mkspecs\win32-g++\ ( Подчеркнутое — Изменить под свою версию)

    4. Редактируем qmake.conf

    5. Переходим в папку Qt\ Qt5.5.0 \ 5.5 \Src\qtbase\ ( Подчеркнутое — Изменить под свою версию)

    6. Прямо в папке qtbase создаем батник Install.bat с кодом, который написан внизу или копируем уже готовый.

    Код батника (Install.bat):

    Внимание! на строчку

    set PATH=c:\Qt\Qt5.5.0\5.5\mingw492_32\bin;c:\Qt\Qt5.5.0\Tools\mingw492_32\bin;%PATH% Измените Qt5.5.0\5.5 на свою версию.

    8. Запускаем батник, соглашаемся с лицензией, нажимаем «y» и ожидаем окончании работы.

    По окончании выполнения батника, делаем следующее:

    9. Запускаем Qt Creator.

    10. Переходим «Инструменты» -> «Параметры» -> «Сборка и запуск» -> «Qt Versions» и нажимаем «Добавить»

    11. Добавляем путь C:\Qt\ Qt5.5.0\5.5 \Src\qtbase\bin\qmake.exe ( Подчеркнутое — Изменить под свою версию)

    12. Для большей удобности в «Название профиля» дописываем Static. Жмем кнопку «Применить».

    13. Переходим в «Комплекты» и нажимаем «Добавить»

    14. Меняем «Название» на Static.

    15. В «Профиль Qt:» меняем на новый профиль «Qt 5.5.0 (Src) Static». Жмем кнопку «ОК» или «Применить».

    Все готово. Теперь проверяем на простой программе и приступаем к программированию.

    Статическая линковка библиотек Qt 5.x (MinGW) под Windows

    В данной статье я опишу как сделать отдельный комплект со статической линковкой библиотек Qt5. Если другими словами, мы сможем собирать проект в один исполняемый файл без Qt *.dll.

    Подготовка

    Начнем

    Сборка комплекта

    • Создаем резервную копию qmake.conf, он находится в «Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++»
    • Делаем изменения в qmake.conf
    • Создаем резервную копию исходников Qt, они находятся в «Qt5.5.0\5.5\Src»
    • Теперь запускаем терминал Qt — Qt 5.5 for Desktop (MinGW 4.9.2 32 bit), он находится
      в «Все программы -> Qt5.5.0 -> 5.5 -> MinGW 4.9.2 (32-bit)» или же полным путем «%appdata%\Microsoft\Windows\Start Menu\Programs\Qt 5.5.0\5.5\MinGW 4.9.2 (32-bit)«
    • Переходим в директорию с исходниками Qt, вводим команду
    • Конфигурируем этап установки, вводя команду, где путь после -prefix, местоположение комплекта сборки
    • По завершению конфигурирования, начинаем компиляцию исходников Qt, командой

    После компиляции, будет несколько ошибок, не обращаем на них внимание, они никак не скажутся на нашей сборке.
    Копируем файлы в указанный нами каталог на этапе конфигурирования, командой

    После копирования, так же будет несколько ошибок, не обращаем на них внимание.

  • Теперь восстанавливаем резервные копии исходников Qt и qmake.conf
  • Добавляем статичный комплект в Qt Creator

    • Запускаем Qt Creator
    • Открываем «Инструменты -> Параметры..»
    • Далее переходим «Сборка и запуск -> Qt Versions»
    • Жмем добавить и выбираем qmake.exe, точнее «X:\Qt\Qt5.5.0_Static\bin\qmake.exe»
    • Переходим во вкладку «Комплекты»
    • Жмем добавить
    • Пишем название нашего комплекта «Qt 5.5.0 Static MinGW 32», в профиле Qt указываем наш статичный профиль, который добавили в Qt Versions, так же указываем версию нашего компилятора и отладчика(MinGW)
    • Все, мы добавили статичный комплект в Qt Creator

    Примечание: в статический комплект не будут включены библиотеки gcc, что бы они так же собирались в исполняемый файл, надо прописать в .pro/.pri

    Спасибо за внимание!

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

    Урок №1. Введение в Qt и установка Qt Creator

    Обновл. 25 Янв 2021 |

    На этом уроке мы познакомимся с кроссплатформенным фреймворком Qt и установим IDE для работы с ним.

    Введение в Qt

    Qt является кроссплатформенным (не зависящим от платформы/ОС) фреймворком для разработки приложений на языке С++. С помощью Qt были разработаны такие известные приложения, как: KDE, Opera, Google Earth и Skype. Впервые Qt был опубликован в мае 1995 года.

    Qt5 подразумевает двойное лицензирование, а это означает, что Qt может быть использован в некоммерческих целях для создания приложений с открытым исходным кодом, а также как лицензия для коммерческих клиентов. За счет использования собственного фреймворка и мощного инструментария Qt позволяет быстро и удобно создавать собственные кроссплатформенные приложения. Кроме того, команды разработчиков получают возможность работать на разных платформах, используя при этом общие инструменты для разработки и отладки. Весь инструментарий Qt с открытым исходным кодом вы можете найти на сайте qt.io.

    Изначально Qt был разработан норвежской компанией по разработке программного обеспечения Trolltech. В 2008 году компанию приобрела Nokia. Спустя четыре года в августе 2012 программные технологии Qt выкупила финская компания-разработчик Digia. Сейчас Qt развивается компанией QT Company, которая является дочерней компанией Digia, и как проект Qt под открытым исходным кодом с участием отдельных разработчиков и фирм.

    Установка Qt Creator в Linux

    Шаг №1: Мы будем устанавливать IDE с открытым исходным кодом. Для этого переходим по ссылке и выбираем самую свежую версию (на момент написания данной статьи — это Qt 5.13):

    На этих уроках используется операционная система Linux (Debian 9.x 64-bit), поэтому мы скачиваем qt-opensourse-linux-x64-5.13.0.run , но вы также можете использовать соответствующие файлы Qt для Windows или macOS:

    После окончания загрузки переходим в папку с необходимым нам файлом, нажимаем на него правой кнопкой мыши и выбираем «Свойства» . На вкладке «Основные» видим «Имя» , «Тип» , «Размер файла» , а также наименование родительской папки:

    Переходим на вкладку «Права» и ставим галочку возле пункта «Разрешить выполнение файла как программы» :

    Закрываем «Свойства» и запускаем программу.

    Шаг №2: На следующем этапе установщик сообщает, что нам предоставлена версия с открытым исходным кодом Qt 5.13.0. Дальнейшая установка Qt предполагает регистрацию в Qt и создание Qt Account, который предоставляет доступ ко всем возможностям Qt. Кроме того, данное действие необходимо для проверки лицензии (коммерческая/некоммерческая). Если у вас уже есть учетная запись в Qt Account, то используйте кнопку «Next» .

    Если учетной записи в Qt Account у вас еще нет, то её можно создать сейчас: для этого перейдите по соответствующей ссылке в установщике, и вы будете перенаправлены на сайт qt.io в соответствующий раздел, или просто используйте кнопку «Next» — вы сможете это сделать на следующем шаге:

    Шаг №3: Здесь необходимо ввести логин и пароль от Qt Account или создать Qt Account, если его у вас еще нет. Кнопка «Next» переводит нас на следующий этап:

    Добро пожаловать в настройки Qt 5.13.0! Для перехода к следующему шагу нажимаем «Далее >» :

    Шаг №4: Выбираем каталог для установки Qt 5.13.0. Обратите внимание, адрес каталога указывается латинскими буквами (без кириллицы) и без пробелов! После того, как выбрали каталог, нажимаем «Далее >» :

    Шаг №5: Выбираем компоненты, которые хотим установить. Если на данном этапе у вас нет уверенности в выборе конкретных компонентов, то добавление и удаление можно будет сделать позже, после установки программы:

    Шаг №6: Принимаем лицензионное соглашение:

    И нажимаем на кнопку «Установить» :

    Для завершения установки нажимаем «Завершить» . После завершения установки Qt Creator запустится самостоятельно (для этого необходимо поставить галочку возле пункта «Launch Qt Creator» ):

    Вот примерно следующее вы должны увидеть при запуске Qt Creator:

    Поздравляем! Qt Creator установлен.

    Установка Qt Creator через командную строку в Linux

    Еще одним альтернативным и простым способом установки Qt Creator в Linux на основе Debian является установка из пакетов. Если при работе с Linux вы используете терминал, то перед скачиванием и установкой Qt Creator программа запросит пароль пользователя root (команда sudo без дополнительных опций). Только после этого начнется скачивание и извлечение файлов. Обычно, пакеты Linux не содержат последней версии Qt и их необходимо обновить. Ниже приведен алгоритм действий, позволяющий за 4 шага установить Qt Creator через терминал в Linux.

    Шаг №1: Обновление набора утилит для установки, удаления, обновления, поиска пакетов в Linux.

    $ sudo apt update

    Шаг №2: Скачивание и установка Qt.

    $ sudo apt install qt5-default

    Шаг №3: Установка Qt Creator.

    $ sudo apt install qtcreator

    Шаг №4: Установка тестовых программ.

    $ sudo apt install qtbase5-examples qtdeclarative5-examples

    Установка Qt Creator в Windows

    Сначала нам нужно скачать установочный пакет Qt. Вы можете это сделать, обратившись к оф. сайту qt.io. Либо же воспользоваться альтернативным вариантом и скачать с какого-нибудь «зеркала» (например, c этого, полный список всех «зеркал» находится здесь):

    Нажимаем на official_releases/ и переходим к online_installers/ :

    Нажимаем на online_installers/ и скачиваем файл qt-unified-windows-x86-online.exe :

    Запустив скачанный файл, видим перед собой приветствие «Qt Online Installer». Нажимаем «Next» :

    Далее у нас спросят о наличии Qt Account. Можно смело нажимать «Skip» и двигаться дальше:

    Затем снова «Далее» :

    Теперь нам нужно указать путь установки Qt. Для простоты я выбрал C:\Qt :

    На следующем шаге нам нужно выбрать набор компиляторов, которыми мы будем пользоваться на данных уроках. Я предлагаю ограничиться выбором пакета MinGW 7.3.0 32-bit , а остальные метки поставить так, как указано на скриншоте ниже:

    После того, как инсталлятор скачает и установит все необходимые компоненты, можно будет перейти к непосредственному написанию кода для нашего приложения.

    Создание проекта

    Вначале нам необходимо создать проект. Сразу скажу, что наша программа будет консольным приложением. Для этого выберите «Файл» > «Создать файл или проект…» или можно воспользоваться сочетанием клавиш Ctrl+N :

    Перед вами появится «Мастер настройки проектов». В левой колонке отметьте пункт «Приложение» , а затем в правой — «Консольное приложение Qt» :

    На следующем шаге нужно будет указать имя для нашей будущей программы и папку, где будут располагаться файлы проекта. У меня это My_QtApplication и C:\dev\Qt_Project соответственно:

    На следующем шаге без изменений, поэтому просто нажимаем кнопку «Далее» :

    Теперь нам нужно выбрать набор компиляторов, который мы будем использовать для сборки нашего проекта. Я настоятельно рекомендую выбрать Desktop Qt 5.13.0 MinGW 32-bit (сняв при этом отметки с остальных, если они у вас есть):

    На последнем шаге нажимаем «Завершить» :

    Теперь вы можете увидеть автоматически сгенерированный Qt-проект консольного приложения. Давайте рассмотрим его детально:

    Читайте также:  Windows 10 ошибка 0x0020036
    Оцените статью