【入門編】【完全版】WindowsでC/C++開発を始める!MSYS2とMinGW-w64のインストールと設定ガイド – 実行環境・ランタイム・コンパイラ生産性向上バイブル

こんにちは!開発環境アーキテクトの先輩エンジニアです。

これからWindowsでC/C++の本格的な開発を始めようとしているあなたへ、最高に素晴らしい選択をしましたね。Windowsの上でC/C++を動かすとき、多くの初心者が最初にぶつかる壁が「開発環境(ツールチェーン)の構築」です。

「Visual Studioを入れたはいいけれど、プロジェクトが大げさすぎて小さなプログラムをサクッと書くには重すぎる……」
「ネットで見つけた古いMinGWのサイトはどれが本物かわからないし、コマンドプロンプトで動かそうとしたら `gcc` なんてコマンドは存在しないと言われて絶望した……」

そんな悩みを一発で、しかも美しく解決してくれるのが今回紹介する MSYS2 と MinGW-w64 です。これをマスターすれば、LinuxやmacOSと同じようにモダンで洗練されたコンパイル環境があなたのWindows上に手に入り、毎日のコーディングが劇的に楽になりますよ。

今回は、単なる手順のコピペにとどまらず、「なぜその作業が必要なのか」「裏側で何が起きているのか」という本質を交えながら、優しく丁寧にガイドしていきます。さあ、一緒に扉を開けましょう!

—

1. そもそも MSYS2 と MinGW-w64 って何?(全体像の理解)

まずは、これからインストールする主役たちの正体を整理しておきましょう。ここを理解しておくと、後々の環境変数の設定で迷わなくなります。

  • MinGW-w64 (Minimalist GNU for Windows):

Windows上で動く、C/C++のコンパイラ(`gcc` や `g++`)のセットです。通常、Linux用のプログラムを作るためのコンパイラをWindows上でそのまま動かすことはできませんが、MinGW-w64は「Linux向けに書かれたC/C++のコードを、Windowsが理解できる形式(.exeファイル)に翻訳(コンパイル)してくれる」超重要ツールです。

  • MSYS2 (Minimal SYStem 2):

Windows上でLinuxの「お作法(Bashなどのシェル環境や、`ls`、`rm` などの便利なコマンド)」を使えるようにしてくれるプラットフォームです。さらに最大の強みは、Linuxの強力なパッケージ管理システム(`pacman`)をWindowsに持ってきてくれたこと。これのおかげで、面倒なライブラリのインストールやコンパイラのアップデートがコマンド一発でできるようになります。

つまり、「MSYS2という便利なお部屋(環境)の中に、MinGW-w64という最高峰の翻訳機(コンパイル機能)をインストールする」というイメージを持ってもらえれば完璧です。

—

2. MSYS2のインストールと初期セットアップ

それでは、実際に手を動かしていきましょう。一つひとつ、確実に行えば全く難しくありません。

Step 1: 公式インストーラからの導入

1. ブラウザで [MSYS2の公式サイト](https://www.msys2.org/) にアクセスします。
2. ページの中央付近にある「MSYS2 installer」のセクションから、インストーラ(例: `msys2-x86_64-xxxxxxxx.exe`)をダウンロードします。
3. ダウンロードしたインストーラを起動し、指示に従ってインストールを進めます。

  • 【超重要・先輩のアドバイス】 インストール先のパスは、デフォルトの `C:\msys64` のままにすることを強く推奨します。スペースを含むフォルダ名(例: `C:\Program Files` や日本語のフォルダ)の深くにインストールすると、後々コンパイラがパスを正しく解釈できずにエラーを起こす原因になります。

Step 2: システムとパッケージの完全アップデート

インストールが完了すると、自動的に「MSYS2 MSYS」という専用の黒い画面(ターミナル)が立ち上がります。

まずは、MSYS2自体のシステム基盤を最新の状態にアップデートします。以下のコマンドをターミナルにコピー&ペーストして、Enterキーを押してください。

MSYS2自体のコアパッケージとパッケージマネージャ(pacman)をアップデートする
pacman -Syu

途中で「Core packages are to be updated. Do you want to close the terminal?(コアパッケージが更新されます。ターミナルを閉じますか?)」といった英語の質問や確認が出たら、指示に従って一度ターミナルウィンドウをバッテンで閉じ、再度デスクトップやスタートメニューから「MSYS2 MSYS」を立ち上げ直してください。

再起動後、もう一度同じコマンドを実行して、システムを完全に最新化します。

残りの全パッケージを最新の状態に同期・更新する
pacman -Su
[100%完了] と表示されれば、MSYS2の初期準備は完了です。

—

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

基盤が整ったので、いよいよ本命のC/C++コンパイラ(MinGW-w64)をインストールします。ここで、MSYS2のパッケージマネージャ `pacman` の真価が発揮されます。

MSYS2のターミナルを開き、以下のコマンドを実行してください。

64ビットWindows環境向けの最新GCCコンパイラ、デバッガ(GDB)、makeツールの一式をインストールする
pacman -S –needed base-devel mingw-w64-ucrt-x86_64-toolchain

  • 途中、`proceed with installation? [Y/n]` と聞かれますので、迷わず `Y`(またはEnter)を押して進めてください。
  • インストールするコンパイラの環境(環境群)としていくつか種類がありますが、現代のWindows標準である `ucrt`(Universal CRT) を選ぶのが最も安定しており、最新のC/C++規格にも完全対応しているためベストチョイスです。

数分待てば、インストールが自動で完了します。これであなたのパソコンに世界最高峰のコンパイラが宿りました!

—

4. 初心者が絶対につまずく「環境変数(PATH)」の罠と設定

さて、ここからが一番重要です。
「よし、コンパイラが入ったから、普通のコマンドプロンプトやVS Codeから `gcc` を使おう!」と思っていませんか?

実は、このままだと普通のWindowsのコマンドプロンプト(cmd.exe)やPowerShellで `gcc` と打っても、「そんなコマンドねえよ(内部コマンドまたは外部コマンドとして認識されていません)」と怒られてしまいます。

なぜなら、Windowsは「`C:\msys64\mingw64\bin`(ここにgcc.exe本体が入っています)というフォルダの場所をまだ知らないから」です。Windowsにその場所を教えてあげる作業、それが「環境変数 PATH の設定」です。

手順:Windowsにコンパイラのありかを教える

1. Windowsのスタートボタンの横にある検索バーに「環境変数」と入力し、「システム環境変数の編集」を開きます。
2. 開いたウインドウの右下にある「環境変数(N)…」ボタンをクリックします。
3. 上半分の「(あなたのユーザー名)のユーザー環境変数」の中から、`Path` という項目を探してダブルクリック(または選んで「編集」)します。
4. 右側の「新規」ボタンを押し、以下のパスを追加します。

C:\msys64\ucrt64\bin

(※もし先ほど別の環境をインストールした場合は、対応するパス `C:\msys64\mingw64\bin` などに読み替えてください)

5. 入力したら、右上の「上へ」ボタンを使って、リストのなるべく上の方に移動させておくと、他の古いツールと競合しなくなるのでおすすめです。
6. すべてのウインドウで「OK」を押し、設定を保存します。

動作確認(パスが通ったかのテスト)

設定が正しく反映されているか確認しましょう。
すでに開いているMSYS2の画面はいったんすべて閉じ、新しい「通常のコマンドプロンプト(cmd)」または「PowerShell」を新しく立ち上げてください。(※ここ重要です。古いプロンプトには古い環境変数がキャッシュされています)

黒い画面に、以下の魔法の呪文を打ち込んでみてください。

インストールされているGCCのバージョンと、実行ファイルのパスを確認する
gcc –version

画面に `gcc.exe (Rev…, Built by…) 13.x.x …` のようなバージョン情報がズラリと表示されれば、環境変数の設定は大成功です! おめでとうございます、最も難所と言われる関門をあなたは突破しました。

—

5. 精度高い「Hello World」で動作確認!

さあ、いよいよ実際にコードを書いて、コンパイラが正しく動くか試してみましょう。
どのフォルダでも構いませんが、今回はデスクトップに `c_test` という作業用フォルダを作った前提で進めます。

Step 1: ソースコードの作成

任意のテキストエディタ(メモ帳でも、VS Codeでも構いません)を開き、以下のコードを記述して、`hello.c` というファイル名で保存してください。

include

int main(void) {
// 画面に挨拶を出力する
printf(“Hello, MSYS2 & MinGW-w64 World!\nICS-Architect is here!\n”);

// 正常終了をオペレーティングシステムに伝える
return 0;
}

Step 2: コマンドラインからのコンパイル

コマンドプロンプトを開き、`hello.c` を保存したフォルダに移動(`cd`コマンド)します。

ディレクトリを移動する例(ご自身の保存した環境に合わせて書き換えてください)
cd /d C:\Users\あなたのユーザー名\Desktop\c_test

ここで、GCCコンパイラを使ってソースコードを機械語に翻訳(ビルド)します。

hello.cをコンパイルし、app.exeという名前の実行ファイルを生成する
gcc hello.c -o app.exe

  • `gcc` : 呼び出すコンパイラ
  • `hello.c` : 翻訳したい元のC言語のファイル
  • `-o app.exe` : 出力される実行ファイルの名前を指定するオプション(指定しないとデフォルトで `a.exe` になります)

エラーが何も出ずに、プロンプトが次の入力を待つ状態(スッと次の行に移行する状態)になれば、コンパイルは大成功です!フォルダの中に `app.exe` というアイコンが新しく生成されているはずです。

Step 3: 実行!

それでは、生成されたプログラムを実際に自分の手で動かしてみましょう。

生成された実行ファイルを呼び出して実行する
.\app.exe

実行結果:

Hello, MSYS2 & MinGW-w64 World!
ICS-Architect is here!

どうですか?あなたのWindows環境上で、ピカピカのネイティブなC言語プログラムが完璧に動作しました!

—

まとめ:ここからあなたのC/C++ライフが始まる

お疲れ様でした!今回は、MSYS2とMinGW-w64のインストールから、パッケージ管理、環境変数の罠の回避、そして「Hello World」の実行までを駆け抜けました。

この環境が手に入ったことで、あなたは以下のような強大なメリットを手にしました:
1. Linuxと同じようなモダンなオープンソースライブラリを `pacman -S` で自由自在に導入できる。
2. Visual Studioの重いプロジェクト構造に縛られず、軽量なエディタ(VS Codeなど)と組み合わせて爆速でコーディングできる。
3. C言語だけでなく、C++(`g++`)やMakefile、GDBを用いた高度なデバッグ環境まで一式揃っている。

これをマスターすれば、毎日のコーディングが劇的に楽になります。エラーが出ても、一歩ずつパスやコマンドの意味を紐解いていけば、必ず解決の糸口が見つかります。

あなたの素晴らしいC/C++開発の旅を、私は心から応援しています。それでは、次のコードを書きに行きましょう!

タイトルとURLをコピーしました