MSYS2の目的

MSYS2の話題とか今さらっぽい気もするけれど、質問されたので、ここに書いておく。

基本として押さえておかないといけないのは、MSYS2の目的について。
MSYS2はUNIXライクな計算機環境をWindowsに提供すること自体が目的ではない。
UNIXライクな環境でWindows用のプログラムの作成作業を行うのが目的。
したがって、MSYS2で作成したプログラムは、MSYS2が存在しないWindows環境で動かせる。
これは逆に言えば、MSYS2で作成したCUIプログラムは、
由緒正しくコマンドプロンプトで実行するためにあると考えるべきだろう。
もちろん、MSYS2の環境下でも動かないわけではないけれど、
質問のような問題が起きて慌てることにもなる。

もちろん、プログラムの作成作業を行う際に、
MSYS2環境下での作業に供するためのプログラムを開発する必要もあろう。
そのための環境が、MSYS2が持つ三つの動作環境のうちの一つ、msys2.exeである。
msys2.exeが提供する環境で作成されたプログラムはMSYS2環境下で動かすためにある。
対して、残る二つの環境、mingw64.exeとmingw32.exeが提供する環境で作成するプログラムは、
前述したMSYS2の目的に沿って、MSYS2環境とは無関係にWindows上で動作するためのものである。

今日は面倒くさいので、質問そのものについては明日にでも書こう(爆