WindowsでC++ファイルを実行するには、作成した.cppファイルをコンパイルし、Windows上で動作する.exeファイルに変換する必要があります。
C++は、HTMLや一部のスクリプト言語のように、ファイルをそのまま開くだけで実行できる言語ではありません。
コンパイラと呼ばれるソフトウェアを使い、ソースコードを実行可能な形式へ変換してから動かします。
この記事では、WindowsでC++ファイルを実行する方法を、初心者にも分かりやすく解説します。
Visual Studioを使う方法だけでなく、Visual Studio Codeやコマンドプロンプト、GCCを使う方法も紹介します。
WindowsでC++ファイルを実行する基本的な流れ
WindowsでC++プログラムを実行する流れは、次のとおりです。
C++ソースファイル(.cpp)
↓
コンパイル
↓
実行ファイル(.exe)
↓
プログラムを実行
C++で作成したファイルには、通常.cppという拡張子が付きます。
例えば、次のようなファイルです。
hello.cpp
このファイルをコンパイラで処理すると、Windowsで実行できるファイルが作成されます。
hello.exe
実際には、コンパイル後にリンクという処理も行われます。
hello.cpp
↓ コンパイル
hello.obj
↓ リンク
hello.exe
ただし、初心者のうちは「.cppファイルをコンパイルすると.exeファイルが作られる」と理解しておけば問題ありません。
実行するC++ファイルを作成する
まずは、動作確認に使用する簡単なC++ファイルを作成します。
次のコードをメモ帳やコードエディターに入力してください。
#include <iostream>
int main()
{
std::cout << "Hello, C++!" << std::endl;
return 0;
}
ファイル名は次のようにします。
hello.cpp
拡張子が.txtにならないように注意する
Windowsのメモ帳で保存すると、ファイル名が次のようになることがあります。
hello.cpp.txt
この状態では、C++のソースファイルとして正しく扱われない場合があります。
エクスプローラーでファイルの拡張子を確認し、必ず次の名前になっていることを確認してください。
hello.cpp
拡張子が表示されていない場合は、エクスプローラーの「表示」メニューから「ファイル名拡張子」を有効にします。
メモ帳から保存する場合は、保存画面で次のように設定すると確実です。
ファイル名:"hello.cpp"
ファイルの種類:すべてのファイル
文字コード:UTF-8
Visual StudioでC++ファイルを実行する方法
Windowsで初めてC++を学ぶ場合は、Visual Studioを使う方法が比較的簡単です。
Visual Studioは、コードの作成、コンパイル、実行、デバッグなどをまとめて行える統合開発環境です。
Visual Studioをインストールする
Visual Studio Installerを起動し、ワークロードの一覧から次の項目を選択します。
C++によるデスクトップ開発
英語表示の場合は、次の名称です。
Desktop development with C++
このワークロードには、一般的に次のような機能が含まれます。
- Microsoft C++コンパイラ
- Windows SDK
- C++標準ライブラリ
- デバッガ
- C++プロジェクトテンプレート
- ビルドツール
Visual Studio本体だけをインストールしても、C++関連の機能が入っていない場合があります。
C++のプロジェクトが表示されない場合は、Visual Studio Installerを開き、「変更」から「C++によるデスクトップ開発」が選択されているか確認してください。
C++のプロジェクトを作成する
Visual Studioを起動し、「新しいプロジェクトの作成」を選択します。
検索欄に次のように入力します。
コンソール アプリ
検索結果の中から、言語がC++になっている「コンソール アプリ」を選択してください。
設定の目安は次のとおりです。
言語:C++
プラットフォーム:Windows
プロジェクトの種類:コンソール
プロジェクト名と保存場所を指定し、「作成」をクリックします。
C++コードを入力する
プロジェクト内に作成された.cppファイルを開き、次のコードを入力します。
#include <iostream>
int main()
{
std::cout << "Hello, C++!" << std::endl;
return 0;
}
コードを入力したら、ファイルを保存します。
デバッグなしで実行する
実行結果だけを確認したい場合は、次のショートカットキーを使用します。
Ctrl + F5
または、上部メニューから次を選択します。
デバッグ
↓
デバッグなしで開始
画面に次のように表示されれば、正常に実行されています。
Hello, C++!
デバッグありで実行する
プログラムの処理を詳しく確認したい場合は、次のキーを押します。
F5
デバッグ実行では、ブレークポイントを設定したり、変数の値を確認したりできます。
単純にプログラムを動かしたい場合はCtrl + F5、エラーの原因や処理の流れを確認したい場合はF5を使うとよいでしょう。
実行ファイルが保存される場所
Visual Studioで作成した.exeファイルは、プロジェクトの設定によって保存場所が異なります。
代表的な保存先は次のとおりです。
プロジェクトフォルダ\Debug\
プロジェクトフォルダ\Release\
プロジェクトフォルダ\x64\Debug\
プロジェクトフォルダ\x64\Release\
必ず同じ場所に作成されるわけではないため、正確な保存先はVisual Studioの「出力」画面やプロジェクトのプロパティで確認してください。
DebugとReleaseの違い
Visual Studioには、主にDebugとReleaseという2つの構成があります。
| 構成 | 主な用途 |
|---|---|
| Debug | 開発中の確認やデバッグ |
| Release | 配布用や本番向けのビルド |
Debug構成は、エラーの原因や変数の内容を調べやすい設定です。
Release構成は、一般的に処理速度やファイルサイズを考慮した最適化が行われます。
ただし、実際の設定はプロジェクトのプロパティから変更できます。
コマンドプロンプトでC++ファイルを実行する方法
Visual Studioの画面を使わず、コマンドプロンプトからC++ファイルをコンパイルすることもできます。
MicrosoftのC++コンパイラを使う場合は、clコマンドを使用します。
Developer Command Promptを開く
通常のコマンドプロンプトではなく、スタートメニューから次のような名前のターミナルを開きます。
Developer Command Prompt for Visual Studio
64ビット向けにコンパイルする場合は、次のターミナルも利用できます。
x64 Native Tools Command Prompt for Visual Studio
Visual Studioのバージョンによっては、名称の後ろに「2022」などが表示されます。
専用のコマンドプロンプトを使う理由
MSVCでC++をコンパイルするためには、コンパイラやWindows SDK、ライブラリなどの場所を環境変数に設定する必要があります。
Developer Command Promptでは、これらの設定があらかじめ読み込まれています。
通常のコマンドプロンプトで次のようなエラーが出る場合は、専用ターミナルを使用していない可能性があります。
'cl' は、内部コマンドまたは外部コマンドとして認識されていません。
C++ファイルの保存先へ移動する
例えば、hello.cppを次の場所に保存したとします。
C:\cpp\hello.cpp
Developer Command Promptで次のコマンドを入力します。
cd /d C:\cpp
/dを付けると、フォルダだけでなくドライブも同時に変更できます。
現在のフォルダにあるファイルを確認する場合は、次のコマンドを使用します。
dir
一覧にhello.cppが表示されれば準備完了です。
MSVCでコンパイルする
次のコマンドを入力します。
cl /EHsc hello.cpp
それぞれの意味は次のとおりです。
| 記述 | 意味 |
|---|---|
cl | MicrosoftのC/C++コンパイラを起動する |
/EHsc | C++の例外処理モデルを指定する |
hello.cpp | コンパイルするファイルを指定する |
正常にコンパイルされると、同じフォルダ内に次のファイルが作成されます。
hello.obj
hello.exe
警告を詳しく表示したい場合は、/W4を追加します。
cl /EHsc /W4 hello.cpp
ソースコードをUTF-8として扱いたい場合は、次のように指定できます。
cl /EHsc /W4 /utf-8 hello.cpp
作成した実行ファイルを起動する
コンパイルに成功したら、次のコマンドで実行します。
hello.exe
または、次のように記述しても実行できます。
.\hello.exe
画面に次のように表示されれば成功です。
Hello, C++!
PowerShellでC++の実行ファイルを起動する方法
PowerShellでは、現在のフォルダにあるプログラムを実行するときに、通常は.\を付けます。
.\hello.exe
.\は「現在のフォルダ」を意味します。
そのため、次のコマンドは「現在のフォルダにあるhello.exeを実行する」という意味になります。
.\hello.exe
ファイルがC:\cppにある場合は、先にフォルダを移動します。
cd C:\cpp
続いて、プログラムを実行します。
.\hello.exe
Visual Studio CodeでC++ファイルを実行する方法
Visual Studio Codeを使ってC++を作成・実行することもできます。
ただし、Visual Studio Codeはコードエディターであり、C++コンパイラは標準では含まれていません。
必要なものを準備する
Visual Studio CodeでC++を実行するには、主に次の3つが必要です。
- Visual Studio Code
- MicrosoftのC/C++拡張機能
- MSVC、GCC、ClangなどのC++コンパイラ
Visual Studio Codeだけをインストールしても、C++ファイルをコンパイルすることはできません。
C/C++拡張機能をインストールする
Visual Studio Codeを開き、左側の拡張機能アイコンをクリックします。
検索欄に次のように入力します。
C/C++
Microsoftが提供しているC/C++拡張機能をインストールします。
この拡張機能を導入すると、コード補完やエラー表示、デバッグなどを利用しやすくなります。
ただし、拡張機能を入れただけではコンパイルできないため、別途コンパイラも必要です。
MSVCを使用する場合
MSVCを使う場合は、Visual Studio InstallerまたはVisual Studio Build Toolsから「C++によるデスクトップ開発」をインストールします。
その後、Developer Command Promptを開きます。
C++ファイルが保存されているフォルダへ移動します。
cd /d C:\cpp
次のコマンドでVisual Studio Codeを開きます。
code .
Developer Command Promptから起動することで、Visual Studio CodeがMSVCに必要な環境変数を引き継ぎます。
Visual Studio Codeのターミナルを開き、次のコマンドでコンパイルします。
cl /EHsc /W4 hello.cpp
続いて実行します。
.\hello.exe
clが認識されない場合
Visual Studio Codeを通常のショートカットから起動すると、統合ターミナルでclが認識されないことがあります。
次のエラーが表示された場合は、Developer Command PromptからVisual Studio Codeを起動し直してください。
'cl' は、内部コマンドまたは外部コマンドとして認識されていません。
また、codeコマンド自体が認識されない場合は、Visual Studio CodeがPATHに追加されていない可能性があります。
GCCとMinGW-w64でC++を実行する方法
C++の教材や解説サイトでは、g++コマンドを使う方法もよく紹介されています。
WindowsでGCC系のコンパイラを使う場合は、MSYS2を通してMinGW-w64版のGCCを導入する方法があります。
MSYS2ではUCRT64環境を使用する
MSYS2には複数の開発環境があります。
新しく導入する場合は、基本的にUCRT64環境を使用します。
GCCをインストールするコマンドは次のとおりです。
pacman -S mingw-w64-ucrt-x86_64-gcc
インストール後、MSYS2 UCRT64ターミナルで次のコマンドを実行します。
g++ --version
バージョン情報が表示されれば、GCCを利用できます。
GCCでC++ファイルをコンパイルする
基本的なコンパイルコマンドは次のとおりです。
g++ hello.cpp -o hello.exe
それぞれの意味は次のとおりです。
| 記述 | 意味 |
|---|---|
g++ | C++コンパイラを起動する |
hello.cpp | コンパイルするファイル |
-o | 出力ファイル名を指定する |
hello.exe | 作成する実行ファイル |
C++20を使用する場合は、次のように規格を指定します。
g++ -std=c++20 hello.cpp -o hello.exe
警告を詳しく表示したい場合は、次のようにします。
g++ -std=c++20 -Wall -Wextra -Wpedantic hello.cpp -o hello.exe
GCCで作成したプログラムを実行する
MSYS2のターミナルでは、次のように実行します。
./hello.exe
PowerShellでは次のように実行します。
.\hello.exe
ターミナルの種類によって、スラッシュの向きが異なる点に注意してください。
複数のC++ファイルをコンパイルする方法
実際のC++開発では、すべてのコードを1つのファイルに書くのではなく、複数のファイルに分けることがあります。
例えば、次の3つのファイルを作成します。
main.cpp
calculator.cpp
calculator.h
main.cppの内容
#include <iostream>
#include "calculator.h"
int main()
{
int result = add(10, 20);
std::cout << result << std::endl;
return 0;
}
calculator.hの内容
#ifndef CALCULATOR_H
#define CALCULATOR_H
int add(int a, int b);
#endif
calculator.cppの内容
#include "calculator.h"
int add(int a, int b)
{
return a + b;
}
MSVCで複数ファイルをコンパイルする
次のコマンドを使用します。
cl /EHsc /W4 main.cpp calculator.cpp
実行ファイル名を指定したい場合は、次のようにします。
cl /EHsc /W4 main.cpp calculator.cpp /Fe:calculator.exe
実行します。
.\calculator.exe
GCCで複数ファイルをコンパイルする
次のコマンドを使用します。
g++ -std=c++20 -Wall -Wextra main.cpp calculator.cpp -o calculator.exe
実行します。
./calculator.exe
WindowsでC++を実行するときによくあるエラー
C++ファイルを実行する際には、コンパイラやファイルの場所、コードの内容によってエラーが発生することがあります。
ここでは、代表的なエラーと対処方法を紹介します。
clが認識されない
次のようなエラーが表示されることがあります。
'cl' は、内部コマンドまたは外部コマンドとして認識されていません。
主な原因は次のとおりです。
- MSVCがインストールされていない
- 「C++によるデスクトップ開発」が入っていない
- 通常のコマンドプロンプトを使用している
- 必要な環境変数が設定されていない
Developer Command Promptまたはx64 Native Tools Command Promptを開き直してください。
g++が認識されない
次のようなエラーが表示されることがあります。
'g++' は、内部コマンドまたは外部コマンドとして認識されていません。
主な原因は次のとおりです。
- GCCがインストールされていない
- PATHが設定されていない
- MSYS2の正しいターミナルを使用していない
- インストール後にターミナルを再起動していない
次のコマンドで確認します。
g++ --version
バージョン情報が表示されなければ、GCCのインストールや環境設定を見直してください。
C++ファイルが見つからない
次のようなエラーが表示される場合があります。
fatal error: hello.cpp: No such file or directory
このエラーは、現在のフォルダにhello.cppが存在しない場合に発生します。
コマンドプロンプトでは、次のコマンドでファイルを確認できます。
dir
PowerShellでは、次のコマンドを使用します。
Get-ChildItem
正しいフォルダへ移動してから、再度コンパイルしてください。
セミコロンがない
C++では、多くの命令の終わりに;が必要です。
間違った例は次のとおりです。
std::cout << "Hello"
正しい例は次のとおりです。
std::cout << "Hello";
セミコロンが不足すると、コンパイルエラーが発生します。
main関数が見つからない
C++のコンソールアプリには、通常main関数が必要です。
int main()
{
return 0;
}
main関数がない場合、リンク時にエラーが発生することがあります。
Windows向けのGUIアプリでは、設定によってWinMainやwWinMainが必要になる場合がありますが、一般的なコンソールアプリではmainを使用します。
iostreamが見つからない
次のようなエラーが表示される場合があります。
fatal error: iostream: No such file or directory
主な原因は次のとおりです。
- C++コンパイラが正しくインストールされていない
- C++用のヘッダーファイルが見つからない
- MSVCの環境変数が設定されていない
- GCCのインストールが不完全
- ファイルの拡張子が
.cになっている
C++ファイルは、基本的に次の拡張子で保存してください。
hello.cpp
実行すると画面がすぐに閉じる場合の対処方法
作成した.exeファイルをエクスプローラーからダブルクリックすると、プログラム終了後にウィンドウがすぐ閉じることがあります。
これは、プログラムの処理が正常に終了したためです。
結果を確認したい場合は、コマンドプロンプトやPowerShellから実行してください。
PowerShellから実行する
cd C:\cpp
.\hello.exe
コマンドプロンプトから実行する
cd /d C:\cpp
hello.exe
ターミナルから実行すれば、プログラム終了後も画面が残るため、結果を確認できます。
一時停止を目的としてsystem("pause")をコードに追加する方法もありますが、Windows専用で移植性が低いため、基本的にはターミナルから実行する方法がおすすめです。
日本語が文字化けする場合の対処方法
C++プログラムから日本語を出力すると、Windowsの文字コード設定によって文字化けすることがあります。
例えば、次のコードです。
#include <iostream>
int main()
{
std::cout << "こんにちは、C++!" << std::endl;
return 0;
}
MSVCでソースコードをUTF-8として扱う場合は、次のようにコンパイルします。
cl /EHsc /utf-8 hello.cpp
コンソールのコードページをUTF-8へ変更する場合は、次のコマンドを実行します。
chcp 65001
ただし、/utf-8やchcp 65001を指定しても、必ず文字化けが解消されるとは限りません。
日本語表示には、次の要素が関係します。
- ソースファイルの保存形式
- コンパイラの文字コード設定
- コンソールのコードページ
- 使用しているターミナル
- フォント
- 出力方法
文字化けが発生した場合は、まず英数字だけを出力し、プログラム自体が正常に動作しているか確認してください。
その後、Windows Terminalを使う、ファイルをUTF-8で保存する、/utf-8を指定するなど、文字コードの設定を一つずつ確認すると原因を特定しやすくなります。
WindowsでC++を始めるならどの方法がおすすめか
初めてC++を学ぶ場合は、Visual Studioを使う方法がおすすめです。
Visual Studioには、コンパイラ、デバッガ、プロジェクト管理機能などがまとめて含まれているため、細かい環境設定を行わなくてもC++の学習を始めやすいからです。
基本的な流れは次のとおりです。
Visual Studioをインストール
↓
「C++によるデスクトップ開発」を選択
↓
C++のコンソールアプリを作成
↓
コードを入力
↓
Ctrl + F5で実行
コマンドライン操作も学びたい場合は、その後にMSVCやGCCを使った方法を試すとよいでしょう。
MSVCを使用する場合は、次の流れです。
cd /d C:\cpp
cl /EHsc /W4 hello.cpp
.\hello.exe
GCCを使用する場合は、次の流れです。
g++ -std=c++20 -Wall -Wextra hello.cpp -o hello.exe
./hello.exe
まとめ
WindowsでC++ファイルを実行するには、.cppファイルをコンパイラで処理し、作成された.exeファイルを実行します。
最も基本的な流れは次のとおりです。
.cppファイルを作成
↓
コンパイラでコンパイル
↓
.exeファイルを作成
↓
.exeファイルを実行
初心者は、Visual Studioの「C++によるデスクトップ開発」をインストールし、コンソールアプリを作成する方法から始めるとスムーズです。
Visual Studio Codeを使用する場合は、エディターとは別にC++コンパイラが必要です。
また、MSVCを使う場合はDeveloper Command PromptからVisual Studio Codeを起動すると、環境設定の問題を減らせます。
C++では、コードを書くことに加えて、コンパイルと実行の仕組みを理解することも重要です。
まずは簡単なHello Worldプログラムを実行し、.cppファイルから.exeファイルが作成される流れを確認してみてください。
以上、WindowsでC++ファイルを実行するについてでした。
最後までお読みいただき、ありがとうございました。
