Как установить MinGW-w64 и MSYS2?
Я пытаюсь создать библиотеку с открытым исходным кодом. Мне нужна система управления пакетами, чтобы легко загрузить зависимости. Сначала я использую MinGW+MSYS
, Но включенные пакеты ограничены. Кто-то сказал мне, чтобы использовать MinGW-w64 + MSYS2
,
Я скачал mingw-w64-install
отсюда При запуске выдает следующую ошибку. Как это исправить?
И, кстати, из MinGW-w64
Страница загрузки, я вижу много ссылок для скачивания. Даже Cygwin указан в списке. Как Cygwin
а также MinGW-w64
относятся к?
Мое текущее понимание, во время MinGW+MSYS
MSYS - это просто приятное дополнение к MinGW, в то время как MinGW-w64 + MSYS2
MSYS2 автономен, а MinGW-w64 - это просто набор библиотек, с которыми он может работать. Так же, как Cygwin может загружать много разных пакетов.
4 ответа
К сожалению, установщик MinGW-w64, который вы использовали, иногда имеет эту проблему. Я сам не уверен в том, почему это происходит (я думаю, что это как-то связано с перенаправлением URL-адреса Sourceforge или с тем, что установщик в настоящее время не может обработать должным образом).
В любом случае, если вы уже планируете использовать MSYS2, вам не нужен этот установщик.
Загрузите MSYS2 с этой страницы (выберите 32- или 64-разрядную версию в зависимости от того, на какой версии Windows вы собираетесь его использовать, а не от того, какие исполняемые файлы вы хотите создать; обе версии могут создавать как 32-разрядные, так и 64-разрядные двоичные файлы).
После завершения установки нажмите на вновь созданную опцию "MSYS2 Shell" под
MSYS2 64-bit
или жеMSYS2 32-bit
в меню Пуск. Обновите MSYS2 в соответствии с вики (хотя я просто делаюpacman -Syu
, игнорируйте все ошибки и закройте окно и откройте новое, это не рекомендуется, и вы должны делать то, что говорит вики-страница).Установите набор инструментов
а) для 32-битных:
pacman -S mingw-w64-i686-gcc
б) для 64-битных:
pacman -S mingw-w64-x86_64-gcc
установите любые библиотеки / инструменты, которые вам могут понадобиться. Вы можете искать репозитории, выполнив
pacman -Ss name_of_something_i_want_to_install
например
pacman -Ss gsl
и установить с помощью
pacman -S package_name_of_something_i_want_to_install
например
pacman -S mingw-w64-x86_64-gsl
и с тех пор 64-битный компилятор MinGW-w64 автоматически находит библиотеку GSL!
Откройте оболочку MinGW-w64:
а) Чтобы собрать 32-битные вещи, откройте "MinGW-w64 32-bit Shell"
б) Для построения 64-битных вещей откройте "64-битную оболочку MinGW-w64"
Убедитесь, что компилятор работает, выполнив
gcc -v
Если вы хотите использовать наборы инструментов (с установленными библиотеками) вне среды MSYS2, все, что вам нужно сделать, это добавить <MSYS2 root>/mingw32/bin
или же <MSYS2 root>/mingw64/bin
на ваш PATH
,
MSYS долгое время не обновлялся, MSYS2 более активен, вы можете скачать с MSYS2, он имеет оба mingw
а также cygwin fork
пакет.
Чтобы установить набор инструментов MinGW-w64 ( ссылка):
- Откройте оболочку MSYS2 из меню "Пуск"
- Бежать
pacman -Sy pacman
обновить базу данных пакетов - Снова откройте оболочку, запустите
pacman -Syu
обновить базу данных пакетов и основные системные пакеты - Снова откройте оболочку, запустите
pacman -Su
обновить остальное - Установите компилятор:
- Для 32-битной цели запустите
pacman -S mingw-w64-i686-toolchain
- Для 64-битной цели запустите
pacman -S mingw-w64-x86_64-toolchain
- Для 32-битной цели запустите
- Выберите пакет для установки, по умолчанию все
- Вам также может понадобиться
make
, бежатьpacman -S make
Теперь вы также можете получить автономную личную сборку MinGW-w64 с https://winlibs.com/ , которая не требует установки — просто распакуйте и она готова к использованию. Это позволяет иметь несколько наборов инструментов в одной системе (например, один для 32-разрядной версии Windows, а другой для 64-разрядной версии Windows).
Насколько я знаю, самый простой способ — использовать Chocolatey для установки MinGW:
choco install mingw
Затем проверьте командойwhereis gcc
. Он будет установлен в C:\ProgramData\chocolatey\bin.
еще одна вещь, чтобы заставить работать, просто скопируйте (или переименуйте, если хотите) копию mingw32-make.exe make.exe в C:\ProgramData\chocolatey\bin .