- 自分がインストールしたとき (2022年9月) の参考用のメモです。
(情報が古くなっている可能性があります)
-
MSYS2 のページ
https://msys2.github.io/
から、MSYS2 のインストーラ ( msys2-x86_64-20220904.exe ) を取得して実行します。
(注意:32bit 版のインストーラは、提供されなくなりました。
https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-supported ) -
プログラムメニューから MSYS2 の MSYS Shell を選択して、以下のコマンドを実行します。
pacman -Syuu
「Proceed with installation? [Y/n]」
に y を入力します。
「To complete this update all MSYS2 processes including this terminal will be closed. Confirm to proceed [Y/n]」
に y を入力します。
再度、プログラムメニューから MSYS2 の MSYS Shell を選択して、
上記コマンドをもう1回実行します。 -
MinGW-w64 (64bit) の開発環境をインストールします。
pacman -S base-devel pacman -S mingw-w64-x86_64-toolchain
-
必要であれば、MinGW-w64 (32bit) の開発環境をインストールします。
pacman -S mingw-w64-i686-toolchain
デフォルトでは、インストール場所は以下になります。
ディスクの使用量は、c:\msys64 以下が 3GB くらいになりました。c:\msys64 : MSYS2 (64bit) c:\msys64\mingw64 : MinGW-w64 (64bit) c:\msys64\mingw32 : MinGW-w64 (32bit)
- インストール手順は以上です。
-
MSYS2/MinGW-w64 (64bit) の開発環境を起動する場合は、
プログラムメニューから MSYS2 の MINGW64 Shell を実行します。 -
MSYS2/MinGW-w64 (32bit) の開発環境を起動する場合は、
プログラムメニューから MSYS2 の MINGW32 Shell を実行します。 -
mintty を使わずに、コマンドプロンプトから開発環境を起動する場合には、以下のようにします。
-
MSYS2/MinGW-w64 (64bit) の開発環境を起動する場合は、
コマンドプロンプトを開いて、以下を実行します。set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH% set MSYSTEM=MINGW64 bash
-
MSYS2/MinGW-w64 (32bit) の開発環境を起動する場合は、
コマンドプロンプトを開いて、以下を実行します。set PATH=C:\msys64\mingw32\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH% set MSYSTEM=MINGW32 bash
-
-
パッケージの更新方法
pacman のバージョンによって、パッケージの更新方法が異なります。
以下のページがくわしいです。
http://qiita.com/k-takata/items/373ec7f23d5d7541f982 -
環境変数 PATH の設定
デフォルトでは、Windows の環境変数 PATH の設定を 引き継がないようになりました。
これを 引き継ぐようにしたい場合には、
Windows の環境変数に MSYS2_PATH_TYPE を追加し、値を inherit に設定してください。
(参考URL:https://sourceforge.net/p/msys2/discussion/general/thread/dbe17030/ )
-
スレッドモデルと例外処理
上記のインストール方法では、スレッドモデルと例外処理は以下のように固定となります。MinGW-w64 (64bit) : threads=posix, exceptions=seh MinGW-w64 (32bit) : threads=posix, exceptions=dwarf2
このため、作成した実行ファイルは、libwinpthread-1.dll に依存する場合があります。
この dll への依存をなくしたい場合には、threads=win32 のものを、
自前でインストールする必要があるようです (詳細未確認)。
(参考URL:https://sourceforge.net/p/msys2/tickets/24/
http://mingw-w64.org
http://mingw-w64.org/doku.php/download
http://blog.practical-scheme.net/shiro/20151217-msys2-mingw64 )(備考:threads=posix であっても、Windows ネイティブのスレッドも使うこと自体は可能です)
-
autotools のインストール
autotools (autoconf 等) は、mingw-w64-x86_64-toolchain から分離されました。
(参考URL:https://www.msys2.org/news/#2021-12-22-ongoing-cleanup-of-the-base-devel-package-group )
必要であれば、以下のコマンドでインストールします。pacman -S mingw-w64-x86_64-autotools
32bit 環境では、以下になります。
pacman -S mingw-w64-i686-autotools
-
成果物の混在
32bit と 64bit の成果物の混在には注意が必要です。
(例えば、32bit の exe から、64bit の dll を呼び出すとエラーになります)
(2016-7-13)(2016-10-13)(2018-8-22)(2022-2-12)(2022-9-13)