Windows に MinGW-w64 をインストールして、コマンドラインからプログラムを実行するシンプルな C/C++ プログラミング環境を構築します。
一般的に、規模の大きな開発を行う際は統合開発環境を用いますが、文法上の簡単な動作確認やデバックのための比較実験などには、コマンドラインから直接実行する方がお手軽で便利な場合もあります。
また、C/C++ の初学者が参考書のサンプルコード等を実行する際にも役立ちます。
統合開発環境との比較
ある程度規模の大きな開発には Visual Studio や Eclipse などの統合開発環境(IDE: Integrated Development Environment)を利用します。
しかし、実験的かつ簡易的なプログラムを実行するようなユースケースでは推奨されません。
なぜなら、IDE はプロジェクトを単位として扱う前提があるからです。
一般的なソフトウェア開発には、ソースコードや各種設定ファイルをはじめ、画像や音楽などのアセットが必要であり、IDE は複数リソースをプロジェクトとして一括管理します。
したがって、数十行で完結する簡単なプログラムを記述して実行する場合にも IDE を利用すると、初期設定を行う必要があったり、不要なディレクトを含む階層構造が用意されたりと、手間がかかる上に管理の煩雑度も上がります。
このとき、コマンドラインからスマートにプログラムの実行が可能な開発環境は重宝されます。
MinGW-w64
MinGW(Minimalist GNU for Windows)は、Windows で利用可能な GNU ツールです。
Windows アプリケーションの開発と実行に必要なフリーコンパイラの GCC を提供しており、gcc
やg++
をはじめ、Windows API 対応のヘッダファイルなどの各種ツールを備えています。
MinGW-w64 は、オリジナルプロジェクトの MinGW から派生した拡張プロジェクトです。
MinGW は 32 bit 環境のみに対応していましたが、2007 年にフォークされた MinGW-w64 は、64 bit 環境にも対応可能であり、新たな API も追加されています。
現在、MinGW-w64 を用いた開発は活発化しており、著名かつ様々なソフトウェアで用いられています。
開発者コミュニティも盛んで、トラブルシューティングも比較的容易です。
セットアップ
MinGW-w64 のインストールを行い、環境変数の設定を行います。
インストール
- 「公式サイト」へアクセス
- 目次の「Mingw-builds」をクリック
- Installation の「Sourceforge」をクリック(自動ダウンロード開始)
- ダウンロードした「mingw-w64-install.exe」をダブルクリックで実行


必要に応じてパラメータを変更し、インストール設定を行います。
設定項目の概要とパラメータは下表の通りです。
設定項目 | 設定内容 | パラメータ |
Version | GCC バージョン | 利用したいバージョンを指定 |
Architecture | OS ビットバージョン | OS の種類に合わせて選択
・「x86_64」: 64 bit ・「i686」: 32 bit |
Threads | スレッドの規格 | ・「posix」: Unix / Linux / Windows をサポート
・「win32」: Win32 をサポート |
Exception | 例外処理の方法 | ・「dwarf」: 32 bit バイナリのみサポート
・「sjlj」: C++ 標準ライブラリによる例外処理 ・「seh」: Windows 特化の例外処理 |
Build revision | ビルドリビジョン番号 | 最新版を選択 |
当環境でのパラメータは下記の通りです。

インストール先を必要に応じて変更します。
ここでは、C:\Program Files\mingw-w64
としました。
環境変数の設定時に利用するため、パスをメモしておきます。

インストールの完了を確認した後、「Finish」をクリックしてクローズします。

これでインストールは完了です。
環境変数の設定
MinGW-w64 におけるコンパイラの実行可能ファイル (*.exe) が含まれるディレクトリまでのパスをユーザ環境変数「Path」に設定します。
インストール先はC:\Program Files\mingw-w64
であり、実行可能ファイルがある「bin」までのパスは、C:\Program Files\mingw-w64\mingw64\bin
になります。
ユーザ環境変数「Path」の設定は下記を参照ください。
タスクバーの検索欄に環境変数を編集と入力することで、環境変数の編集パネルを検索し、起動することができます。

- 「ユーザ環境変数」の Path をダブルクリック
- 新規をクリック
C:\Program Files\mingw-w64\mingw64\bin
を登録- 開いている全パネルの OK をクリックしてクローズ



C:\Program Files\mingw-w64\mingw64\bin
を登録設定は以上になりますので、ウィンドウを閉じて構いません。
環境変数の詳細は下記リンクを参照ください。

動作確認
コマンドプロンプトに下記コマンドを入力して、コンパイラのバージョンが表示されれば、環境変数が正しく反映されています。
gcc --version
または、下記コマンドでも確認可能です。
g++ --version
コマンドプロンプトは、タスクバーの検索欄か、Windows + r
で起動した「ファイル名を指定して実行」のダイアログに、cmd
と入力して起動します。

コンパイラの基本コマンド
言語に対応するファイル拡張子とコマンドは下記の通りです。
言語 | ファイルの拡張子 | コマンド |
C | *.c | gcc |
C++ | *.cpp | g++ |
gcc / g++ を用いたコマンドの基本形式は下記の通りです。
gcc の場合
gcc <options> <sourcefile>
g++ の場合
g++ <options> <sourcefile>
オプションは、下記コマンドを入力することで一覧表示させることができます。
下記は g++ の場合で、gcc も同様です。
g++ --help

g++ --help
でオプションを一覧表示最低限必要なオプションは、出力ファイル (*.exe) の名前を指定する-o
かと思います。
下記は g++ の場合で、gcc も同様です。
g++ <sourcefile> -o <output>
プログラムの実行
お馴染みの挨拶を標準するプログラムを作成し、コマンドプロンプトから実行します。
コーディングに便利なエディタを用意します。
高機能なプラグインが豊富に用意されており、カスタマイズ性が高く、使い勝手が良い有名なテキストエディタを 3 つ挙げます。
テキストエディタ | 提供元 |
Visual Studio Code | Microsoft |
Atom | GitHub |
Brackets | Adobe |
基本的に無料で、インストールしたら直ぐに利用可能です。
Windows の「メモ帳」でもプログラムの記述は可能ですが、自動補完やハイライト表示、キーバインドなど、開発スピードを向上させる各種機能を持つテキストエディタは必須アイテムです。
下記プログラムをテキストエディタ等で記述し、hello.cpp として任意のディレクトリに保存します。
ここでは、C:\Users\CHAM\Documents\demo に保存します。
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
コマンドプロンプトを起動し、hello.cpp が存在するディレクトリに移動します。

エクスプローラのアドレスバーからフルパスをコピーしてコマンド入力することも可能です。


実行可能ファイル名を hello と指定してコンパイルします。

コンパイルが完了すると、同じディレクトリに hello.exe という実行可能ファイルが出力されます。
実行可能ファイル名をコマンドとして入力することで実行します。

以上が実行フローになります。
おすすめの技術書
C/C++ の初心者向けの入門書を紹介します。
数ある技術書の中から 5 冊ピックアップしました。
評価や知名度も高く、効率良く学習できる有益な書籍です。
文系出身者をはじめとする、非エンジニアの社員を対象とした勉強会等でも利用しています。
スッキリわかるC言語入門
「スッキリわかる入門シリーズ」の C 言語編です。
基本的な知識と文法を一通り学ぶことができます。
新人エンジニアと先輩チュータの会話が織り交ぜられた独特の構成であり、初心者ならではの疑問を起点に展開されます。
図解も豊富でイメージしやすく、難所もスムーズに理解することができます。
新・明解 C/C++ 言語 入門編
「新・明解シリーズ」における C 言語と C++ 言語の入門編です。
説明の粒度が細かく、基本から応用までの網羅性も高いです。
一般的な技術書では省略される背景知識やテクニックなど、マニアックな情報が満載です。
学生時代の授業やシステム開発にて重宝した技術書の 1 つです。
独習 C++ 新版
「独習シリーズ」の C++ 編です。
システムエンジニアやプログラマからの知名度が高い定番の技術書です。
必要十分かつ実用性の高い情報がバランス良く丁寧に説明されており、とても読みやすいです。
未経験者や新人エンジニアへの研修等でよく利用されています。
辞書としても手元に置いておきたい 1 冊です。
1週間で C++ の基礎が学べる本
「1週間シリーズ」の C++ 編です。
必要なポイントを押さえ、短期間で基礎知識を学び、全体像を把握することができます。
プログラミングを始めたばかりのビギナーが対象であり、サンプルプログラムを通じて基本スキルを身に付けることができます。
本格的な学習を始める前の 1 冊です。