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
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の再インストールは一旦保留
gdb
MSYS2 MinGW(64bit)(mingw-w64-x86_64-gdb)をインストールする.
gccと同じパスに入っている
MinGW(64bit)のパスはC:\msys64\mingw64\binとなる.
make
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.exeにmake.exeという名前のシンボリックリンクを作成する.
コマンドプロンプトでMinGW64のコマンドがあるパスまで潜り,以下を実行.今回はC:\msys64\mingw64\binで以下を実行
<code cmd>
mklink make.exe mingw32-make.exe
</code>
C:\msys64\usr\binを環境変数PATHから削除する.
これでコマンドラインからはMSYS MinGW64にインストールしたmingw32-make.exeをmakeで呼び出すことができた.また,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),前述の通り,名前は被らないので問題ない.
CMakeでMinGW Makefilesを指定するとき,使用するmakeはMinGWのmake(mingw32-make.exe)
ccache
MSYS2 MSYS版のccacheはうまく動かなかったため,MSYS2 MinGW(64bit)(mingw-w64-x86_64-ccache)をインストールする.
ccache
Autotools
https://www.msys2.org/docs/autotools/
pacman -S "${MINGW_PACKAGE_PREFIX}-autotools" # for mingw pacman -S autotools # for msys
環境設定
msys2の初期化スクリプトファイルを~/.bashrcに書いておける
Windows Terminalで設定
Windows TerminalからMSYS2を起動できるようにしておく
WIndows TerminalのJSONファイル
https://www.msys2.org/docs/terminals/