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

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

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

enter image description here

и кстати, от MinGW-w64 страница загрузки, я вижу много ссылок для загрузки. Даже Cygwin является включенный. Как!--4--> и MinGW-w64 связаны?

enter image description here

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

2 ответов


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

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

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

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

  3. установить toolchain

    a) для 32-разрядной:

    pacman -S mingw-w64-i686-gcc
    

    b) для 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
    

    и с тех пор библиотека GSL автоматически находит ваш MinGW-w64 64-разрядный компилятор!

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

    a) чтобы построить 32-битные вещи, откройте "32-битную оболочку MinGW-w64"

    b) чтобы построить 64-битные вещи, откройте "64-битную оболочку MinGW-w64"

  6. убедитесь, что компилятор работает, делаю

    gcc -v
    

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


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

для установки MinGW-w64 toolchain (ссылка):

  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