現時点で一番導入が簡単なWindowsのgccコンパイラを紹介します。
本記事は、プログラムやWindowsの初心者向け記事です。
懇切丁寧に(笑)コンパイラインストール後、最初のCプログラム作成+コンパイル+実行確認までを解説します。
「一番導入が簡単な~」と言いましたが、個人的にgccコンパイラはどれをとっても導入が楽じゃないと思います。(ほんと)
TL;DR
- Step 1MSYS2インストール
まずはMSYS2というLinuxライクな環境をインストールします
- Step 2gccコンパイラインストール
MSYS2上で、pacmanコマンドを使ってgccコンパイラをインストール
ダウンロードとインストール
MSYS2というサイトからインストーラをダウンロードします。

MSYS2(エムシスツー)は、Windows上でLinuxライクな開発環境(Bash, grep, pacmanなど)を利用可能にするソフトウェア群です。Cygwinをベースにしており、軽量かつ高速に動作します。主な目的は、MinGW-w64を使用して、Windowsネイティブなアプリケーション(.exe)をビルド・開発・実行する環境を提供することです。 – Qiitaより
MSYS2のトップページにすべて英語で解説があるので、見て分かる方はその通りインストールできると思います。(そういう方はここでGoodbye!)
MSYS2のトップページのInstallation項目からインストーラのダウンロードができます。
通常は、msys2-x86_64-xxxxxxxx.exe をクリックしてダウンロードします。

お使いのパソコンのCPUが、多くの人がお使いのIntelのCoreシリーズやAMDのRyzenシリーズの場合は、msys2-x86_64-xxxxxxxx.exe の方で大丈夫です。
ちなみにCPUがQualcommのSnapdragonシリーズの場合は、msys2-arm64-xxxxxxxx.exe をダウンロードしましょう。
ダウンロードしたファイルをダブルクリックします。

Nextボタンをクリックします。

インストール先が表示されます。
通常はC:¥msys64のままでOKです。Nextをクリックします。(MSYS2をインストールしようとしているのにフォルダ名はmsys64ってどういうことだ??って感じですが)

スタートメニューへの登録フォルダ名です。
MSYS2のままで大丈夫です。(こんどはMSYS2かーい)Nextをクリックします。

インストールが始まります。このまま待ちます。

インストール完了画面です。Finishをクリックします。(ちなみにこの時点ではまだgccコンパイラはインストールされていません)

自動的にコマンド画面が起動し、カーソルが点滅します。(緑の文字部分は、<ユーザー名>@<端末名>となります。お使いの環境により変わります)

誤って上記のコマンド画面のウインドウを閉じてしまった場合は、スタート → MSYS2から MSYS2 UCRT64 を選択すればいつでも開くことができます。

以下の文字列をコピーし、カーソルが点滅している箇所に貼り付けてからEnterキーを押します。
pacman -S mingw-w64-ucrt-x86_64-gcc
イメージ

gccコンパイラに必要なパッケージが検索され、インストールに要するディスクサイズが表示されるので、「Y」と入力してEnterキーを押します。
なお、今後このコマンド画面での入力は、直接入力文字(半角英数字)での入力が必須となることを最初にお伝えしておきます。

gccコンパイラのダウンロードとインストールが始まります。
カーソルが点滅して元の状態にもどればインストール完了です。
画面そのままで次の項目に進んでください。

gccコンパイラが正常にインストールされたか確認する
インストールが完了したらgccコンパイラのバージョン情報を表示して確認をします。
カーソルの位置で gcc –version と入力してEnterキーを押します。
gccコンパイラのバージョン情報が下に表示されたらインストールは正常にできています。(下の画像では15.2.0がgccコンパイラのバージョンです。数値はインストールした時期により変化します)

バージョン情報が表示されたら、このウインドウは一旦閉じてください。
gccコンパイラにパスを通す
ここまでの状態では、インストールしたgccコンパイラはWindowsに認識されていません。
先ほどバージョン確認に利用したMSYS2 UCRT64のコマンド画面からgccコンパイラを利用する分には問題ないのですが、Linuxライクな環境となっており、C言語のコンパイルやファイル作成などは、MSYS2をインストールしたc:\msys64の配下で行うことになります。そのままではC言語開発の自由度が下がるため以下の設定を行います。
パソコン上の好きなフォルダ上で自由にC言語コンパイル等をしたい方は、次の項目のパス設定を行ってください。
パス設定は、Windowsに対して(コマンドプロンプトやPower Shellなどからも)gccコンパイラを認識させるための設定です。
ちなみにここまでgccコンパイラという言い方をしてきましたが、gccコンパイラとはC言語ソースコードをコンパイルできるアプリの事で、具体的にはgcc.exeというファイルのことを指します。
インストール時にデフォルトのフォルダを変更していなければ、gcc.exe(gccコンパイラ)の場所は、
C:\msys64\ucrt64\bin
となります。上記文字列をコピーしてください。
スタートボタンの検索ボックスに「システムの詳細」と入力すると検索される「システムの詳細設定の表示」を開きます。

環境変数(N)…ボタンをクリックします。

xxxxxのユーザー環境変数の項目にあるPathを選択して編集(E)…ボタンをクリックします。

新規(N)ボタンをクリックしてカーソルが点滅した箇所に先ほどコピーしたgccコンパイラの場所を貼り付けます。

ここまでの操作で、複数のウインドウが開いていると思います。
全てのウインドウにあるOKボタンを押して閉じてください。
パス設定は以上で完了です。
パス設定がうまくいったか確認をします。
Win+Rで「cmd」と入力してOKボタンを押して、コマンドプロンプトを開きます。

コマンドプロンプトが開いたら、gcc –version と入力してEnterキーを押します。

先ほど確認したものと同じgccコンパイラのバージョン情報が表示されていればパス設定成功です!
次の項目でC言語ソースコードを作成してコンパイルしますので、このままコマンドプロンプトウインドウは開いたままにしておいてください。
コンパイルして確認
簡単なC言語プログラムを作ってコンパイル&実行確認をしてみます。
ここではWindowsパソコンに標準装備されているアプリのみを用いてC言語ソースコードのコンパイルと実行確認をしてみます。
| C言語ソースコード入力と保存 | メモ帳 |
| コンパイル&実行 | コマンドプロンプト |
コマンドプロンプトからメモ帳を起動する
スタートボタンからメモ帳を起動してソースコード入力してもいいのですが、この後コマンドプロンプト上でコンパイルと実行を行う予定です。
だったら最初からコマンドプロンプト上で全部やってやろう、という考えです(笑)
コマンドプロンプト上で、notepad hello.cと入力してEnterキーを押します。

notepadはメモ帳のアプリ名です。
notepadと入力してEnterキーを押すと名称未設定でメモ帳が起動しますが、notepad hello.cなどと半角スペースの後にファイル名を指定すると、最初から指定したファイル名で開いてくれます。
C言語のソースコードはUTF-8で保存する
開いたメモ帳の右下の文字コードがUTF-8になっていることを確認してください。

gccコンパイラは内部的に文字コードを全てUTF-8で処理しています。
ソースコードの保存には文字コードをUTF-8にしておく必要があります。
もし、メモ帳の文字コードがUTF-8以外になっていたら ファイル ー 名前を付けて保存 から文字コードをUTF-8に変更してから再度保存しなおしてください。
メモ帳で名前を付けて保存の際、ファイル名をhello.cとしてファイルの種類はすべてのファイルとしてください。

日本語文字を扱わない場合なら別ですが、gccコンパイラ上で日本語を扱うプログラムを作りたい場合は、C言語のソースコードは文字コードをUTF-8にしておかないと「文字化け」などの不具合が発生します。
メモ帳でC言語ソースコード入力
以下のコードをメモ帳で入力します。
#include <stdio.h>
int main(void){
printf("C言語は習うより慣れよ!\n");
return 0;
}
知っている方には余計ですが、一応入力時の注意点をあげておきます。
上記プログラムでは、「C言語は習うより慣れよ!」以外の文字列は、全て半角英数字(直接入力モード)で入力をしてください。
また4行目と5行目の先頭は半角スペースではなくTABキーを1回入力して字下げを行うのがプログラマーっぽい入力方法です。
入力が終わったら、上書き保存のみ行い、メモ帳に入力したコードは開いたままにしておきます。(←これ以外と大事で、入力したコードにミスがなければいいのですが「人間、間違いはつきもの」なので入力ミスなどがあったとき、またメモ帳でhello.cを開く手間が省けるからです)
コマンドプロンプトでコンパイルと実行
コマンドプロンプト上で、以下を入力してコンパイルします。
gcc -o hello -fexec-charset=CP932 hello.c
ちなみに、コンパイルが上手くいっても、コマンドプロンプトの画面には何も表示されません。
その代わりhello.exeという実行形式のファイルが新規作成されます。
何かしらメッセージが表示される場合は、入力したソースコードやコンパイル時のコマンドに間違いがないか確認します。
例)ファイル名が間違っている場合のエラー

例)入力したソースコード(hello.c)の内容が間違っている場合

上記のように行番号つきのエラーメッセージの場合、その行に入力ミスがあるというよりもその行より上の行に入力ミスがあると考えてください。
コンパイルエラーがなければ、hello.exeという実行形式のファイルが新規作成されていますので、実行できます。
実行するには、コマンドプロンプト上でhelloと入力してEnterキーを押します。
画面に「C言語は習うより慣れよ!」と表示されたらコンパイル&実行が成功です!

今回は、あくまでコンパイル&実行の確認でしたので、コマンドプロンプトを起動したフォルダ上でコンパイルやソースコード作成の作業をしてきました。
最後に今回作成したソースコード(hello.c)と実行ファイル(hello.exe)がパソコンのどこに保存されたか確認してみてください。
コマンドプロンプトが起動した直後は、PC ー Cドライブ ー ユーザー ー <ユーザーフォルダ> で作業していることになります。
エクスプローラを開いて作成したファイルを確認してみてください。(不要ならhello.cとhello.exeは削除してかまいません)

コンパイルオプションの意味
プログラムをコンパイルするたびに、こんな長い文字列を毎回入力するのかい?と思ったかもしれません。
gcc -o hello -fexec-charset=CP932 hello.c
実は、コンパイルするだけなら
gcc hello.c
でも一応大丈夫です。
ただし、この場合実行形式ファイル名は、a.exeとなってしまいます。
もし、そのあとにgcc hoge.cなどと別のプログラムをコンパイルしたら、「上書きしますか?」などのメッセージも無くa.exeが上書きされてしまいます。
だから通常は、-oというオプションのあとにソースコード名から.cを外した文字列をつけて
gcc -o hello hello.c
などとしてコンパイルすることが多いです。
-oオプションの後に指定した文字列が実行形式ファイル名に反映されhello.exeという実行形式ファイルが作成される仕組みです。
ここで一つ問題があります。
WindowsのコマンドプロンプトやPower Shellなどのターミナルアプリは、画面表示に文字コードのShift-JISを使っています。
gccコンパイラでUTF-8のソースコードをコンパイルしてできた実行形式ファイルも当然UTF-8の文字コードで出力しようとするため、gcc hello.cやgcc -o hello hello.cなどでコンパイルした実行ファイルは、日本語文字列が含まれていると文字化けを起こしてしまうのです。
gcc -o hello hello.cで作成されたhello.exeを実行した場合の表示イメージ
C險隱槭・鄙偵≧繧医j諷」繧後h・・
これを防ぐためのオプションが-fexec-charset=CP932です。
gcc -o hello -fexec-charset=CP932 hello.c
とすることで、実行形式ファイルは文字コードをShift-JISで出力しなさい、という意味になります。
結果として
C言語は習うより慣れよ!
という表示結果が得られるわけです。
少々説明が長かったですが、Windows環境でgccコンパイラを使っていると「なんじゃこりゃあ!」となる部分でしたのであえて解説させていただきました。
-fexec-charset=CP932オプションや-oオプションが面倒なら
ちょっとC言語プログラムを作ってコンパイルしたい場合、-fexec-charset=CP932や-oなどのコンパイルオプションの入力は非常に面倒です。
わたしは次のようなバッチファイルを作って少し楽をしています。
まず、作業フォルダ(C言語ソースコードを保存したりコンパイルして実行形式ファイルを保存するフォルダ)の中に以下のバッチファイルを作ります。
Windowsでは、拡張子が~.batのファイルをバッチファイルと呼びます。
バッチファイルは、通常コマンドプロンプトで実行できるコマンドを順番に記述したファイルです。
バッチファイルはhello.exeなどと同じ実行形式ファイルです。通常ダブルクリックで実行できます。
コマンドプロンプト上でバッチファイルを実行するには、バッチファイル名かあるいは.batを省いた部分(上記gc.batであればgc)を入力してEnterキーを押します。
ファイル名:gc.bat
@echo off
gcc -fexec-charset=CP932 %1 -o %~n1
gc.batがC言語ソースコードと同じフォルダにあれば、
gc hello.c
と入力してEnterキーを押すだけでhello.exeの実行形式ファイルを作成してくれます。
もちろん実行しても文字化けはしません。
gc.batをcc.batなどと名前変更すれば、コンパイルはcc hello.cで可能です。
バッチファイルの名前は、そのまま実行する時の名前になります。ご自身の好きなファイル名にしても大丈夫です。ただし、バッチファイル名をコマンドプロンプトに最初から存在する命令と同じ名前にしてしまうと色々と不具合が生じるので、そこは注意してください!
以上、【2026年版】WindowsにC言語開発環境(gccコンパイラ)を導入するでした。

コメント