У меня тоже был вопрос №2: «какая разница между оболочкой Win32 MinGW-w64 и оболочкой MSYS2?». Я нашел ответ на этой официальной странице вики. Исходное полное форматирование см. На исходной странице. Вот соответствующая часть страницы, по состоянию на 9 августа 2017 года.
Подсистемы MSYS2
MSYS2 состоит из трех подсистем и соответствующих им репозиториев пакетов: msys2, mingw32 и mingw64.
Подсистемы mingw предоставляют собственные программы Windows и являются основным направлением проекта. Эти программы созданы для того, чтобы хорошо взаимодействовать с другими программами Windows, независимо от других подсистем.
Подсистема msys2 предоставляет эмулируемую среду, в основном совместимую с POSIX, для создания программного обеспечения, управления пакетами и написания сценариев оболочки. Эти программы находятся в виртуальной однокорневой файловой системе (корнем является установочный каталог MSYS2). Некоторые усилия прилагаются к тому, чтобы программы хорошо работали с собственными программами Windows, но это не безупречно.
Каждая из подсистем предоставляет свой собственный набор инструментов компилятора (т.е. target = host) в msys2-devel, mingw-w64-i686-toolchain и mingw-w64-x86_64-toolchain. Существуют также наборы инструментов кросс-компилятора с host = {i686, x86_64} -pc-msys и target = {i686, x86_64} -w64-mingw32 в mingw-w64-cross-toolchain, но они имеют ограниченное применение из-за отсутствия библиотеки пакеты для них.
Снаряды
Каждая подсистема имеет связанную «оболочку», которая, по сути, представляет собой набор переменных среды, которые позволяют подсистемам правильно взаимодействовать. Эти оболочки можно вызвать с помощью программ запуска в каталоге установки MSYS2 или с помощью ярлыков в меню «Пуск» Windows. Пусковые установки устанавливают переменную MSYSTEM и открывают окно терминала (mintty) с соответствующей оболочкой (bash). Bash, в свою очередь, создает / etc / profile, который устанавливает среду в зависимости от значения MSYSTEM. Без правильной среды различные вещи могут и будут (иногда тихо) сломаться. Исключением является использование подсистем mingw из чистой Windows, для которой не требуется какой-либо специальной среды, кроме записи в PATH. Не устанавливайте MSYSTEM вне оболочек, потому что это тоже сломает работу.