Как установить MinGW-w64 и MSYS2?

Я пытаюсь создать некоторую библиотеку с открытым исходным кодом. Мне нужна система управления пакетами, чтобы легко загружать зависимости. Сначала я использую MinGW+MSYS. Но включенные пакеты ограничены. Кто-то сказал мне использовать MinGW-w64 + MSYS2.

Я загрузил mingw-w64-install из здесь. При запуске он сообщает о следующей ошибке. Как это исправить?

enter image description here

И btw, с страницы загрузки MinGW-w64, я вижу много ссылок на скачивание. Даже Cygwin указан. Как связаны Cygwin и MinGW-w64?

enter image description here

Мое нынешнее понимание - во время MinGW+MSYS, MSYS - просто приятный аддон для MinGW, а в MinGW-w64 + MSYS2 MSYS2 является автономным, а MinGW-w64 - это всего лишь набор библиотек, с которыми он может работать. Точно так же, как Cygwin может загружать множество разных пакетов.

Ответ 1

К сожалению, установщик MinGW-w64, который вы использовали, иногда имеет эту проблему. Я сам не уверен в том, почему это происходит (я думаю, что это как-то связано с перенаправлением URL-адреса Sourceforge или с тем, что установщик в настоящее время не может обработать должным образом).

В любом случае, если вы уже планируете использовать MSYS2, вам не нужен этот установщик.

  1. Загрузите MSYS2 с этой страницы (выберите 32- или 64-разрядную версию в зависимости от того, на какой версии Windows вы собираетесь ее использовать, а не от того, какие исполняемые файлы вы хотите создать; обе версии могут создавать как 32-разрядные, так и 64-разрядные двоичные файлы).

  2. После завершения установки нажмите на только что созданную опцию "MSYS2 Shell" в разделе " MSYS2 64-bit или " MSYS2 32-bit в меню "Пуск". Обновите MSYS2 в соответствии с вики (хотя я просто делаю pacman -Syu, игнорирую все ошибки, закрываю окно и открываю новое, это не рекомендуется, и вы должны делать то, что написано на вики-странице).

  3. Установите набор инструментов

    а) для 32-битных:

    pacman -S mingw-w64-i686-gcc
    

    б) для 64-битных:

    pacman -S mingw-w64-x86_64-gcc
    
  4. установите любые библиотеки/инструменты, которые вам могут понадобиться. Вы можете искать репозитории, выполнив

    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!

  5. Откройте оболочку MinGW-w64:

    а) Чтобы собрать 32-битные вещи, откройте "MinGW-w64 32-bit Shell"

    б) Для создания 64-битных вещей откройте "64-битную оболочку MinGW-w64"

  6. Убедитесь, что компилятор работает, выполнив

    gcc -v
    

Если вы хотите использовать цепочки инструментов (с установленными библиотеками) вне среды MSYS2, все, что вам нужно сделать, это добавить <MSYS2 root>/mingw32/bin или <MSYS2 root>/mingw64/bin в вашу PATH.

Ответ 2

MSYS долгое время не обновлялся, MSYS2 более активен, вы можете скачать его с MSYS2, он включает в себя как пакет mingw и cygwin fork.

Чтобы установить набор инструментов MinGW-w64 (ссылка):

  1. Откройте оболочку MSYS2 из меню "Пуск"
  2. Запустите pacman -Sy pacman чтобы обновить базу данных пакетов.
  3. Снова откройте оболочку, запустите pacman -Syu чтобы обновить базу данных пакетов и основные системные пакеты.
  4. Снова откройте оболочку, запустите pacman -Su чтобы обновить остальные.
  5. Установите компилятор:
    • Для 32-битной цели запустите pacman -S mingw-w64-i686-toolchain
    • Для 64-битной цели запустите pacman -S mingw-w64-x86_64-toolchain
  6. Выберите пакет для установки, по умолчанию все
  7. Вам также может понадобиться make, запустить pacman -S make