MinGW 64 bit 版 のセットアップ

2021年2月2日

はじめに

Windows に Linux の開発環境を構築する MinGW の 64 bit 版のセットアップメモ。

環境

Windows 10 64 bit

MinGW の導入方法

MinGW の導入方法には、以下の方法がある。

  • MinGW を直接インストールする (コマンドプロンプトから利用する場合)
  • MSYS2 からインストールする (シェルなども含めて環境構築する場合)

MinGW は Windows に gcc などの開発環境を導入するものであるが、MSYS2 は bash などシェル周辺の Linux 環境を構築するものである。MSYS2 はパッケージマネージャを備えており、それを通して MinGW を導入することができる。

MinGW 64 bit 版のインストール

MinGW 64 bit 版のインストーラ "mingw-w64-install.exe" を以下からダウンロードする。

インストーラを実行するとインストールが始まる。"Settings" の "Architecture" で "x86_64" を選択する。

インストール後、インストールフォルダの bin フォルダをパスに追加する。デフォルトでは "C:¥Program Files" 以下にインストールされるが、パスに空白を含むと問題が起る場合があるので、"C:¥" の直下に入れたほうがよいかもしれない。

MSYS2 のインストール

MSYS2 のインストーラ "msys2-x86_64-*.exe" を以下からダウンロードする。

(ここでは msys2-x86_64-20210105.exe を使用)

インストーラを実行してインストールを行う。

MSYS2 のアップデート

インストールしたらまず "MSYS2 MSYS" を起動し、アップデートする。

$ pacman -Syu

MSYS2 のパッケージマネージャ

MSYS2 にはパッケージマネージャが備わっている。たとえば、VIM をインストールするには次のようにする。

$ pacman -S vim

pacman の主要な使い方は以下の通り。

パッケージの検索

$ pacman -Ss <キーワード>

パッケージのインストール

$ pacman -S <パッケージ>

インストール済みのパッケージの表示

$ pacman -Q

インストール済みのパッケージの検索

$ pacman -Qs <キーワード>

インストール済みのパッケージのファイルを表示

$ pacman -Ql <パッケージ>

ファイルを保有しているパッケージの表示

$ pacman -Qp <ファイル>

パッケージの削除

$ pacman -R <パッケージ名>

パッケージのダウンロードがうまくいかない場合

パッケージのダウンロードがうまくいかない場合、ダウンローダーを変更したらうまくいく場合がある。wget をインストールできたとして、wget をダウンローダーとするには、C:¥msys64¥etc¥pacman.conf の以下の行のコメントをはずす。

#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

手動でパッケージをダウンロードしてインストールするには、ここ からファイルをインストールし、C:¥msys64¥var¥cache¥pacman¥pkg にファイルを置き、そのパッケージを "pacman -S" でインストールすればよい。

MSYS2 における開発環境の導入

MSYS2 の起動アイコンは "MSYS2 MSYS"、"MSYS2 MinGW 64-bit"、"MSYS2 MinGW 32-bit" の 3 つある。MSYS は Linux 風の環境を構築するもので、これ自体にもコンパイラを導入できる。一方、MinGW は Windows ネイティブプログラムを作るためのものである。前者は Linux 特有の関数を使えるが、後者はそうではない。

MinGW の開発環境を導入するには、以下のようにする (これ自体は MSYS から実行してよい)。

$ pacman -S --needed base-devel mingw-w64-x86_64-toolchain

一方、MSYS の開発環境は、以下で導入できる。

$ pacman -S --needed msys2-devel

どちらの環境が使われるかは、起動するシェルによって切り替わる。

個人的お気に入り設定メモ

mintty オプション (コマンドウインドウ右クリック [Options...])

  • Looks - Transparency : High
  • Text - Font: Lucida Console, 10-point
  • Window - Default size: Columns 80 Rows 40

‾/.bashrc

alias ls='ls -F --color=auto'
alias vi='vim'