Пятница, 01.12.2023 16:56

Установка Qt 6.6.0 с помощью MSYS2 в Windows 10

Установка Qt 6.6.0 с помощью MSYS2 в Windows 10

3 апреля 2023 года разработчиками была выпущена новая версия 6.5. Она привнесла множество изменений, главное из которых – переход на CMAKE как систему сборки по умолчанию. Впоследствии было выпущено еще несколько версий, на момент написания этой статьи в Msys2 доступен Qt версии 6.6.0

Сегодня мы рассмотрим установку Qt6 в Windows 10 с помощью MSYS2.

Установка MSYS2

MSYS2 предоставляет все необходимые утилиты, компиляторы, инструменты и библиотеки для сборки программ из исходного кода в Windows 10.

Загрузим последнюю версию с официального сайта - https://www.msys2.org:

Я рекомендую ставить MSYS2 на SSD, тем самым вы уменьшите время сборки своих проектов.

Установка элементарна - запускаем установщик и всё время нажимаем Далее.

После запуска откроется консоль Msys2:

Настройка зеркала Яндекса

Сервера Msys2 расположены в Германии, что может вызвать проблемы, например, у меня при установке не удалось скачать некоторые пакеты: 

error: failed retrieving file 'mingw-w64-x86_64-gdb-multiarch-13.2-3-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds

error: failed retrieving file 'mingw-w64-x86_64-openssl-3.1.4-1-any.pkg.tar.zst' from mirror.msys2.org : HTTP/2 stream 3 was not closed cleanly: INTERNAL_ERROR (err 2)

error: failed retrieving file 'mingw-w64-x86_64-crt-git-11.0.0.r404.g3a137bd87-1-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds

warning: too many errors from mirror.msys2.org, skipping for the remainder of this transaction

Если с зеркалом проблемы, pacman должен бы использовать другое зеркало, но зачем ждать загрузки, если можно использовать зеркала Яндекса?

Так что давайте настроим Msys2 на использование зеркал Яндекса.

Откройте консоль Msys2, если она не открыта и введите команды:

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/" | tee /etc/pacman.d/mirrorlist.clang32

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/clang64/" | tee /etc/pacman.d/mirrorlist.clang64

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/\$repo/" | tee /etc/pacman.d/mirrorlist.mingw

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/" | tee /etc/pacman.d/mirrorlist.mingw32

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/x86_64/" | tee /etc/pacman.d/mirrorlist.mingw64

echo "Server = https://mirror.yandex.ru/mirrors/msys2/msys/\$arch/" | tee /etc/pacman.d/mirrorlist.msys

echo "Server = https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/" | tee /etc/pacman.d/mirrorlist.ucrt64

Установка обновлений

Можно приступать к обновлению. Для начала обновим базу данных пакетов, базовые пакеты и пакеты ядра Msys2:

pacman -Syu
:: Synchronizing package databases...

clangarm64                     403.5 KiB 87.0 KiB/s 00:05 [###############################] 100%
mingw32                         430.5 KiB 92.2 KiB/s 00:05 [###############################] 100%
mingw64                         461.1 KiB 98.0 KiB/s 00:05 [###############################] 100%
ucrt64                         462.6 KiB   113 KiB/s 00:04 [###############################] 100%
clang32                         417.4 KiB   153 KiB/s 00:03 [###############################] 100%
clang64                         453.5 KiB   240 KiB/s 00:02 [###############################] 100%
msys                           462.7 KiB   470 KiB/s 00:01 [###############################] 100%

:: Starting core system upgrade...

there is nothing to do

:: Starting full system upgrade...

resolving dependencies...

looking for conflicting packages...

Packages (7) gawk-5.3.0-1 libgpgme-1.23.1-1 liblzma-5.4.5-1 libnghttp2-1.58.0-1
             libp11-kit-0.25.1-1 p11-kit-0.25.1-1 xz-5.4.5-1

Total Download Size:   2.94 MiB

Total Installed Size: 12.37 MiB

Net Upgrade Size:       0.18 MiB

:: Proceed with installation? [Y/n]

Нажмем y и Enter

Будет загружено и обновлено несколько пакетов:

(7/7) checking keys in keyring                               [###############################] 100%
(7/7) checking package integrity                             [###############################] 100%
(7/7) loading package files                                  [###############################] 100%
(7/7) checking for file conflicts                            [###############################] 100%
(7/7) checking available disk space                          [###############################] 100%
:: Processing package changes...
(1/7) upgrading gawk                                         [###############################] 100%
(2/7) upgrading libnghttp2                                   [###############################] 100%
(3/7) upgrading libp11-kit                                   [###############################] 100%
(4/7) upgrading p11-kit                                      [###############################] 100%
(5/7) upgrading liblzma                                      [###############################] 100%
(6/7) upgrading libgpgme                                     [###############################] 100%
(7/7) upgrading xz                                           [###############################] 100%
:: Running post-transaction hooks...
(1/1) Updating the info directory file...

Запустим обновление еще раз, на случай если не обновились прочие пакеты, на этот раз мы просто пытаемся обновить все пакеты, не обновляя базу данных пакетов:

pacman -Su
:: Starting core system upgrade...
 there is nothing to do
:: Starting full system upgrade...
 there is nothing to do

Больше обновлений нет, можно продолжать установку.

Установка пакетов Qt6

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

pacman -S base-devel git p7zip mc mingw-w64-x86_64-make mingw-w64-x86_64-ninja mingw-w64-clang-x86_64-tidy mingw-w64-x86_64-fmt mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-qt-creator mingw-w64-x86_64-clang
:: There are 19 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git  3) mingw-w64-x86_64-gcc
   4) mingw-w64-x86_64-gcc-ada  5) mingw-w64-x86_64-gcc-fortran
   6) mingw-w64-x86_64-gcc-libgfortran  7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc
   9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-gdb-multiarch  11) mingw-w64-x86_64-headers-git
   12) mingw-w64-x86_64-libgccjit  13) mingw-w64-x86_64-libmangle-git
   14) mingw-w64-x86_64-libwinpthread-git  15) mingw-w64-x86_64-make  16) mingw-w64-x86_64-pkgconf
   17) mingw-w64-x86_64-tools-git  18) mingw-w64-x86_64-winpthreads-git
   19) mingw-w64-x86_64-winstorecompat-git

Enter a selection (default=all):

Просто нажимаем Enter:

resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mingw-w64-x86_64-harfbuzz will be installed before its mingw-w64-x86_64-freetype dependency

Packages (146) binutils-2.41-3  bison-3.8.2-5  diffstat-1.65-1  diffutils-3.10-1  dos2unix-7.5.1-1
               flex-2.6.4-3  glib2-2.76.6-1  heimdal-7.8.0-4  libcbor-0.10.2-1  libfido2-1.13.0-1
               m4-1.4.19-2  make-4.4.1-1  mingw-w64-clang-x86_64-libc++-17.0.4-1
               mingw-w64-clang-x86_64-libunwind-17.0.4-1  mingw-w64-x86_64-brotli-1.1.0-1
               mingw-w64-x86_64-bzip2-1.0.8-3  mingw-w64-x86_64-c-ares-1.21.0-1
...
               mingw-w64-x86_64-make-4.4-2  mingw-w64-x86_64-ninja-1.11.1-3
               mingw-w64-x86_64-pkgconf-1~2.0.3-2  mingw-w64-x86_64-qt-creator-11.0.3-1
               mingw-w64-x86_64-tools-git-11.0.0.r404.g3a137bd87-1
               mingw-w64-x86_64-winpthreads-git-11.0.0.r404.g3a137bd87-1
               mingw-w64-x86_64-winstorecompat-git-11.0.0.r404.g3a137bd87-1  p7zip-17.05-2

Total Download Size:    451.20 MiB
Total Installed Size:  2929.22 MiB

:: Proceed with installation? [Y/n]

Нажимаем y и Enter

Ждем окончания загрузки, скорость зависит только от вашего канала подключения к сети Интернет!

Если загрузка прошла успешно то будет произведена проверка загруженных пакетов и начата установка:

(137/137) checking keys in keyring                                 [###################################] 100%
(137/137) checking package integrity                               [###################################] 100%
(137/137) loading package files                                    [###################################] 100%
(137/137) checking for file conflicts                              [###################################] 100%
(137/137) checking available disk space  
:: Processing package changes...

Установка может занять большое количество времени, так как все пакеты содержат большое количество файлов.

Когда на экране появятся строки:

:: Running post-transaction hooks...
(1/1) Updating the info directory file...

Это означает что установка завершилась успешно.

Установка переменных среды Windows для Qt6 в MSYS2

Установим переменные среды для корректной работы Msys2

Запустим PowerShell от администратора и введем:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\msys64\mingw64\bin", [EnvironmentVariableTarget]::Machine)

Закроем консоль Msys2 и запустим её заново.

Откроем cmd и введем

qtcreator

Если всё настроено и установлено правильно будет запущена среда разработки Qt Creator.

Qt 6.6.0 установлен и готов к работе.

Заключение

Сегодня мы рассмотрели установку Qt 6.6.0 с помощью Msys2 в Windows 10:

Загрузили и установили базовую систему Msys2;

Настроили зеркало Яндекса для установки;

Обновили пакеты ядра Msys2;

Установили все необходимые пакеты Qt6;

Установили переменные среды Windows для работы с Qt6;

Запустили Qt Creator.

Категория Qt6
Теги Qt Cpp

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 687