私も質問#2: "MinGW-w64 Win32シェルとMSYS2シェルの違いは何ですか?"私はthis official wiki pageに答えを見つけました。オリジナルの完全な書式については、元のページを参照してください。ここではページの関連する部分があり、2017年
の8月9日のようMSYS2 susbsystems
MSYS2は3つのサブシステムとそれに対応するパッケージ リポジトリ、msys2、MINGW32、とにMinGW64で構成されています。
mingwサブシステムは、ネイティブWindowsプログラムを提供し、プロジェクトの主な目的は です。これらのプログラムは、他のサブシステムとは独立して、 他のWindowsプログラムとの協調性を高めるように構築されています。
msys2サブシステムは、ソフトウェア、パッケージ管理、およびシェル スクリプト作成のためのほとんどのPOSIX準拠の環境( )を提供します。これらのプログラムは、仮想単一ルートファイルシステム (ルートはMSYS2インストールディレクトリ)にあります。 にはいくつかの努力がなされており、ネイティブのWindowsプログラムでは正常に動作しますが、 はシームレスです。
サブシステムの各々はmsys2-develの、mingwの-W64-i686の-ツールチェーン、および mingwの-W64-x86_64で、ツールチェーンでは、独自のネイティブ(すなわち、ターゲット=ホスト) コンパイラツールチェーンを提供します。 mingw-w64-cross-toolchainには、ホスト= {i686、x86_64} -pc-msys、ターゲット= {i686、x86_64} -w64-mingw32 のクロスコンパイラツールチェーン もありますが、これは それらのライブラリパッケージはありません。
シェル
すべてのサブシステムは、基本的にサブシステムが適切に 共同動作することを可能にする環境変数のセット ある関連する「シェル」を有します。これらのシェルは、MSYS2 インストールディレクトリのランチャーを使用するか、Windowsの メニューのショートカットを使用して呼び出すことができます。ランチャーは、MSYSTEM変数を設定し、適切なシェル(bash)を使用してウィンドウ(mintty)を端末 で開きます。 Bashは、 /etc/profileのソースで、 MSYSTEMの値に応じて環境を設定します。正しい環境がなければ、さまざまなことがあるかもしれませんし、 (時々サイレント)が壊れます。例外は純粋なWindowsのmingwサブシステム を使用しています。特別な環境は必要ありません。 PATHのエントリとは別です。シェルの外にMSYSTEMを設定しないでください。 これは物事を壊すためです。