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

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

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

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

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

4 ответа

Решение

К сожалению, установщик 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,

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

Теперь вы также можете получить автономную личную сборку 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 .

Другие вопросы по тегам