msys2

MSYS2

MSYS2 Software Distribution and Building Platform for Windows
MSYS2 MinGW GCC環境をつくる(その1)
基本的に上記通りに進めれば良い.
インストールして起動すると起動できるシェルが3つある.

  • MSYS2 MinGW 64-bit
  • MSYS2 MinGW 32-bit
  • MSYS2 MSYS

gccの環境は以前はMinGW(Minimalist GNU for Windows)を使ってインストールしてたが,現在はMSYSをインストールしてその中でMinGWをインストールしている.
今後はWindows Subsystem for Linux 2 (WSL2)に移行していくのがよさそう.

gccはMSYS2 MSYS(gcc)とMSYS2 MinGW(64bit)(mingw-w64-x86_64-gcc)をインストールする.
MSYS2 MinGW(64bit)のgccはMSYS2 MinGW(64bit)シェル内部でしか見えない.
Powershellなどのコマンドラインで使えるようにWIndowsの環境変数PATHにMinGW(64bit)のパスを登録する.
今回はMSYS2をC:\msys64にインストールしたため,MinGW(64bit)のパスはC:\msys64\mingw64\binとなる.
2024年12月14日更新
MSYS2 MSYSのgccで事足りたのでmingw-w64-x86_64-gccの再インストールは一旦保留

MSYS2 MinGW(64bit)(mingw-w64-x86_64-gdb)をインストールする.
gccと同じパスに入っている
MinGW(64bit)のパスはC:\msys64\mingw64\binとなる.

makeはMSYS2 MSYS(make)をインストールする.
MinGW(64bit)のものはコマンド名がmake.exeではなくmingw32-make.exeになってるため,リネームがめんどくさいのでmakeはMSYSでインストールする.
Powershellなどのコマンドラインで使えるようにWIndowsの環境変数PATHにMSYSのパスを登録する.
今回はMSYS2をC:\msys64にインストールしたため,MSYSのパスはC:\msys64\usr\binとなる.
2020-07-30 Update
MSYS2 MSYS内部の書くコマンドがXilinxの開発ツールのコマンドと干渉することが判明.
解決策として,MSYS MinGW64のmake(mingw-w64-x86_64-make)をインストールし,mingw32-make.exemake.exeという名前のシンボリックリンクを作成する.
コマンドプロンプトでMinGW64のコマンドがあるパスまで潜り,以下を実行.今回はC:\msys64\mingw64\binで以下を実行 <code cmd> mklink make.exe mingw32-make.exe </code> C:\msys64\usr\binを環境変数PATHから削除する. これでコマンドラインからはMSYS MinGW64にインストールしたmingw32-make.exemakeで呼び出すことができた.また,VitisのPlatfoem Projectのビルドも問題なく実行できた.
より良い解決策が現状見つかってないのでこれでひとまず運用.

2020-07-31 Update
MinGW64のmakeがCubeMXで吐いたMakefileと相性が悪い?MSYS2のmakeでは問題なく動く
やはりMSYS2 MSYSにはPATHを通す必要がある.C:\msys64\usr\binは環境変数PATHに追加しておく.
Vitisを起動するときに対処する必要あり. Vitisのページにまとめた ↓
VitisでPlatfom Projectのビルドやクリーンができない
2022-06-25 Update
bloatyで必要になったでMinGW(64bit)のmakeもインストールしておく(mingw32-make.exe),前述の通り,名前は被らないので問題ない.
CMakeMinGW Makefilesを指定するとき,使用するmakeはMinGWのmake(mingw32-make.exe)

MSYS2 MSYS版のccacheはうまく動かなかったため,MSYS2 MinGW(64bit)(mingw-w64-x86_64-ccache)をインストールする.
ccache

https://www.msys2.org/docs/autotools/

pacman -S "${MINGW_PACKAGE_PREFIX}-autotools" # for mingw
pacman -S autotools # for msys

msys2の初期化スクリプトファイルを~/.bashrcに書いておける

Windows TerminalからMSYS2を起動できるようにしておく
WIndows TerminalのJSONファイル
https://www.msys2.org/docs/terminals/

参考文献

  • msys2.txt
  • 最終更新: 2024/12/14
  • by yuqlid