Windows環境でのMSYS2、MinGW-w64およびgotk3の導入手順

MSYS2のインストール

公式サイト:https://www.msys2.org/からインストーラをダウンロードし、インストールを完了させる。

パッケージリポジトリミラーの設定

msys64\etc\pacman.d\ディレクトリ内の以下の3つのファイルを編集し、中国科学技术大学(USTC)のミラーサーバを最優先に設定する。

  • mirrorlist.mingw32
##
## 32-bit Mingw-w64 repository mirrorlist
##

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
  • mirrorlist.mingw64
##
## 64-bit Mingw-w64 repository mirrorlist
##

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
  • mirrorlist.msys
##
## MSYS2 repository mirrorlist
##

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/

※ USTCミラーを先頭に記述しないと、デフォルトのリポジトリ(msys2.org)から取得されてしまうため注意。

pacmanの更新

MSYS2のShells(例:MSYS2 MSYS)を開き、以下のコマンドでpacmanとミラーリストを更新する。

pacman --noconfirm --needed -Sy bash pacman pacman-mirrors

その後、再度シェルを起動し、以下のコマンドでシステム全体のパッケージを最新化する。

pacman -Su

途中でmingw-*.pkg.tar.zst系パッケージのダウンロードに失敗する場合は、パッケージ一覧ページより該当パッケージを手動でダウンロードし、下記でインストールする。

pacman -U xxx/xxx-yyy-zzz.pkg.tar.zst

MinGW-w64ツールチェインのインストール

32ビット環境用:

pacman -S mingw-w64-i686-toolchain

64ビット環境用:

pacman -S mingw-w64-x86_64-toolchain

環境変数の設定

C:\msys64\mingw64\binおよびC:\msys64\mingw32\binPATH に追加する(両方が必要な場合は、優先順位に注意)。また、Go開発時には以下も推奨される。

set PATH=C:\msys64\mingw64\bin;%PATH%

gotk3(Go bindings for GTK 3)の導入

1. 環境変数 PKG_CONFIG_PATH を以下のように設定する。

set PKG_CONFIG_PATH=C:\msys64\mingw64\lib\pkgconfig

2. gdk-3.0.pc のリンカオプションを修正し、UUIDライブラリのリンク指定を走査可能にする。

bash -c "sed -i 's/-Wl,-luuid/-luuid/g' /mingw64/lib/pkgconfig/gdk-3.0.pc"

3. Goモジュールを取得してインストールする。

go get github.com/gotk3/gotk3

よくある問題と対応

  • xxxx.pc ファイルが見つからないというエラーが出る場合、https://packages.msys2.org/ から対応するパッケージ(例:mingw-w64-x86_64-gtk3など)を検索し、MSYS2内で pacman -S コマンドでインストールする。
  • gccや linking 時にパスが通っていないと判定される場合、MSYS2側から export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig を実行したり、コマンドラインで明示的にパスを通すことで回避できる。

タグ: MSYS2 MinGW-w64 GTK3 gotk3 Go

6月19日 17:08 投稿