Visual Studio には、C と C++ のコマンド ライン コンパイラが付属しています。 それを使用すると、基本的なコンソール アプリからユニバーサル Windows プラットフォーム アプリ、デスクトップ アプリ、デバイス ドライバー、.NET コンポーネントまで、あらゆるものを作成できます。
このチュートリアルでは、テキスト エディターを使用して基本的な "Hello, World" スタイルの C++ プログラムを作成した後、それをコマンド ラインでコンパイルします。 コマンド ラインを使用する代わりに Visual Studio IDE を試す場合は、「 Walkthrough: プロジェクトとソリューションの操作 (C++)」 または Visual Studio IDE for C++ デスクトップ開発の使用を参照してください。
このチュートリアルでは、ここで使用するものを入力する代わりに、独自の C++ プログラムを使用できます。 または、別の記事の C++ コード サンプルを使用することもできます。
前提条件
このチュートリアルを完了するには、Visual Studioとオプションの
Visual Studio は "統合開発環境" (IDE) です。 あらゆる機能を備えたエディター、リソース マネージャー、デバッガー、およびさまざまな言語とプラットフォームに対応したコンパイラがサポートされています。 利用可能なバージョンには無料の Visual Studio Community エディションが含まれており、すべてのバージョンで C と C++ の開発がサポートされています。 Visual Studio をダウンロードしてインストールする方法について詳しくは、「Visual Studio での C++ サポートのインストール」をご覧ください。
Build Tools for Visual Studio では、C と C++ のプログラムをビルドするために必要なコマンド ライン コンパイラ、ツール、ライブラリのみがインストールされます。 ビルド ラボやクラスルームの演習に最適であり、比較的短時間でインストールできます。 コマンド ライン ツールのみをインストールするには、
C または C++ のプログラムをコマンド ラインでビルドするには、その前に、ツールがインストールされていて、コマンド ラインからアクセスできることを確認してください。 Microsoft C++ (MSVC) には、コマンドライン環境で使用するツール、ヘッダー、およびライブラリを検索するための複雑な要件があります。
プレーンなコマンド プロンプト ウィンドウで Microsoft C++ を使用するには、何らかの準備を行う必要があります。 Microsoft C++ は、コマンド ライン ビルド用に環境を設定した開発者コマンド プロンプトを起動するためのショートカットをインストールします。 残念ながら、開発者コマンド プロンプトのショートカットの名前と配置場所は、Visual Studio のほぼすべてのバージョンと Windows のバージョンによって異なります。 チュートリアルでの最初のタスクは、使用する適切なものを見つけることです。
注
開発者コマンド プロンプトのショートカットを使用すると、コンパイラとツールおよび必要なヘッダーとライブラリに対する正しいパスが、自動的に設定されます。 通常のコマンド プロンプト ウィンドウを使用する場合は、これらの環境の値を手作業で設定する必要があります。 詳細については、「コマンド ラインから MSVC ツールセットを使用する」を参照してください。 自分で構築するのではなく、開発者コマンド プロンプトのショートカットを使用することをお勧めします。
開発者コマンド プロンプトを開く
Windows 10 以降で 2017 以降をVisual Studioしている場合は、Start メニューを開き、All apps を選択します。 下へスクロールして、([Visual Studio アプリケーション] ではなく) [Visual Studio] フォルダーを開きます。 [開発者コマンド プロンプト for VS] で始まる項目を選択して、コマンド プロンプト ウィンドウを開きます。
Windows 10以降でビルド ツール 2015 をMicrosoft Visual Studioしている場合は、Start メニューを開き、All apps を選択します。 下にスクロールし、 Visual Studio ビルド ツール フォルダーを 開きます。 x86 Native Tools コマンド プロンプトを選択して、コマンド プロンプト ウィンドウを開きます。
Windows 検索機能を使用して 開発者コマンド プロンプト を検索し、インストールされているバージョンの Visual Studio に一致するものを選択することもできます。 ショートカットを使用してコマンド プロンプト ウィンドウを開きます。
C++ 開発者コマンド プロンプトが正しく設定されていることを確認します。 コマンド プロンプト ウィンドウで「
cl」と入力し、出力が次のようになることを確認します。C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. usage: cl [ option... ] filename... [ /link linkoption... ]
現在のディレクトリまたはバージョン番号に違いがある可能性があります。 これらの値は、MSVC のバージョンとインストールされている更新プログラムによって異なります。 出力が表示される内容と似ている場合は、コマンド ラインで C または C++ プログラムをビルドする準備が整います。
注
"'cl' が内部または外部コマンドとして認識されない、操作可能なプログラムまたはバッチ ファイルとして認識されない"、エラー C1034、 cl コマンドの実行時にエラー LNK1104などのエラーが発生した場合は、開発者コマンド プロンプトを使用していないか、MSVC のインストールに問題があります。 続けるには、この問題を解決する必要があります。
開発者コマンド プロンプトのショートカットが見つからない場合、または「 cl」と入力したときにエラー メッセージが表示された場合は、MSVC のインストールに問題がある可能性があります。 Visual Studio または Visual Studio Build Tools で MSVC コンポーネントを再インストールしてみてください。
cl コマンドが機能するようになるまで、次のセクションに進まないでください。 MSVC のインストールとトラブルシューティングの詳細については、「 Visual Studio のインストール」を参照してください。
注
コンピューターの Windows のバージョンおよびシステムのセキュリティ構成によっては、このチュートリアルに従って作成するアプリケーションを正常にビルドして実行するために、開発者コマンド プロンプト ショートカットを右クリックしてショートカット メニューを開き、[管理者として実行] を選択することが必要な場合があります。
C++ ソース ファイルを作成し、コマンド ラインでコンパイルする
開発者コマンド プロンプト ウィンドウで、「
md C:\hello」と入力してディレクトリを作成し、「cd C:\hello」と入力してそのディレクトリに変更します。 このディレクトリに、ソース ファイルとコンパイル済みプログラムの両方が作成されます。コマンド プロンプト ウィンドウで「
notepad hello.cpp」と入力します。メモ帳で新規ファイルの作成を確認するメッセージが表示されたら、[はい] を選択します。 この手順では、空のメモ帳ウィンドウが開き、
hello.cppという名前のファイルにコードを入力できます。メモ帳に、次のコードを入力します。
#include <iostream> using namespace std; int main() { cout << "Hello, world, from Microsoft C++!" << endl; }このコードは、画面上に 1 行のテキストを書き込んで終了する単純なプログラムです。 エラーを最小限に抑えるには、このコードをコピーし、メモ帳に貼り付けます。
作業内容を保存します。 メモ帳で、 [ファイル] メニューの [保存]を選びます。
おめでとうございます! コンパイルの準備ができている C++ ソース ファイル (
hello.cpp) を作成しました。開発者コマンド プロンプト ウィンドウに戻ります。 コマンド プロンプトで「
dir」と入力して、C:\helloディレクトリの内容の一覧を表示します。 次のように、ディレクトリの内容の一覧にソース ファイルhello.cppが表示されるはずです。C:\hello>dir Volume in drive C is Local Disk Volume Serial Number is AA11-BB22 Directory of C:\hello 04/28/2026 01:26 PM <DIR> . 04/28/2026 01:26 PM <DIR> .. 04/28/2026 01:27 PM 117 hello.cpp 1 File(s) 117 bytes日付と他の詳細は使用しているコンピューターによって異なります。
注
ソース コード ファイル
hello.cppが表示されない場合は、コマンド プロンプトで現在の作業ディレクトリが、作成したC:\helloであることを確認します。 また、この場所がソース ファイルを保存したディレクトリであることを確認します。.cpp拡張子ではなく、.txtファイル名拡張子でソース コードを保存したことを確認します。 コマンド.cppを使用してコマンド プロンプトでメモ帳を開くと、ソース ファイルが現在のディレクトリにnotepad hello.cppファイルとして自動的に保存されます。メモ帳を別の方法で開くと、その動作は異なります。既定では、新しいファイルを保存するときに、メモ帳によって
.txt拡張子が付加されます。 また、既定では、Documentsディレクトリにファイルが保存されます。 メモ帳で.cpp拡張子を付けてファイルを保存するには、[ファイル]>[名前を付けて保存] を選択します。 [ 名前を付けて保存 ] ダイアログで、ディレクトリ ツリー ビュー コントロールの C:\hello フォルダーに移動します。 次に、[保存の種類] ドロップダウン コントロールを使用して、[すべてのファイル (*.*)] を選択します。hello.cppの編集コントロールに「」と入力し、[保存] を選択してファイルを保存します。開発者コマンド プロンプトで、「
cl /EHsc hello.cpp」と入力してプログラムをコンパイルします。cl.exe コンパイラによって、コンパイルされたコードを含む .obj ファイルが生成され、リンカーが実行されて hello.exe という名前の実行可能プログラムが作成されます。 この名前は、コンパイラによって表示される出力情報の行に表示されます。 コンパイラの出力は次のようになります。
C:\hello>cl /EHsc hello.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.cpp Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj注
"'cl' が内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されない、エラー C1034、エラー LNK1104などのエラーが発生した場合、開発者コマンド プロンプトが正しく設定されていません。 この問題を解決する方法については、「開発者コマンド プロンプトを開く」セクションを再確認してください。
これとは異なるコンパイラ エラー、リンカー エラー、または警告が発生する場合は、ソース コードを確認してエラーを修正し、保存してからコンパイラを再度実行します。 特定のエラーの詳細については、検索ボックスを使用してエラー番号を検索してください。
hello.exe プログラムを実行するには、コマンド プロンプトで
helloと入力します。プログラムは、次のテキストを表示して終了します。
Hello, world, from Microsoft C++!おめでとうございます! コマンド ライン ツールを使用して C++ プログラムをコンパイルして実行しました。
次のステップ
この "Hello, World" の例は、C++ プログラムでできる最も簡単なことです。 実際のプログラムには、通常、ヘッダー ファイル、さらに多くのソース ファイル、ライブラリへのリンクが含まれます。
このチュートリアルの手順を使用すれば、示されているサンプル コードを入力する代わりに、独自の C++ コードを作成できます。 これらの手順では、他の場所で見つかる多くの C++ コード サンプル プログラムをビルドすることもできます。 ソース コードを配置し、任意の書き込み可能なディレクトリにアプリをビルドできます。 既定では、Visual Studio IDEは、source\repos サブフォルダー内のユーザー フォルダーにプロジェクトを作成します。 以前のバージョンでは、プロジェクトが Documents\Visual Studio \{version}\Projects フォルダーに配置される場合があります。
他のソース コード ファイルを含むプログラムをコンパイルするには、コマンド ラインに次のようにすべて入力します。
cl /EHsc file1.cpp file2.cpp file3.cpp
/EHsc は、標準の C++ 例外処理動作を有効にするようコンパイラに指示するコマンド ライン オプションです。 これを行わないと、スローされた例外によって、破棄されないオブジェクトやリソースのリークが発生する可能性があります。 詳細については、「/EH (例外処理モデル)」を参照してください。
他のソース ファイルを指定すると、コンパイラは最初の入力ファイルを使用してプログラム名を作成します。 この場合、 file1.exeというプログラムを出力します。 名前を program1.exe に変更するには、 /out リンカー オプションを追加します。
cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe
より多くのプログラミングミスを自動的にキャッチするには、 /W3 または /W4 警告レベル オプションを使用してコンパイルすることをお勧めします。
cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe
コンパイラ cl.exe には、さらに多くのオプションがあります。 これらを適用して、コードのビルド、最適化、デバッグ、分析を行うことができます。 簡単に一覧を見るには、開発者コマンド プロンプトで「cl /?」と入力します。 また、さらに複雑なビルド シナリオでは、コンパイルとリンクを別々に行い、リンカー オプションを適用することもできます。 コンパイラとリンカーのオプションと使用方法の詳細については、「C/C++ ビルドのリファレンス」を参照してください。
NMAKE とメイクファイル、MSBuild とプロジェクト ファイル、または CMake を使用すると、さらに複雑なプロジェクトをコマンド ラインで構成し、ビルドすることができます。 これらのツールの使用方法の詳細については、「NMAKE リファレンス」、「MSBuild」、および「Visual Studio の CMake プロジェクト」を参照してください。
C 言語と C++ 言語は似ていますが、同じではありません。 MSVC コンパイラでは、簡単なルールを使用して、コードをコンパイルするときに使用する言語が決定されます。 既定の MSVC コンパイラでは、.c で終わるファイルは C ソース コードとして扱われ、.cpp で終わるファイルは C++ ソース コードとして扱われます。 ファイル名拡張子に関係なくコンパイラですべてのファイルが C++ として扱われるように強制するには、/TP コンパイラ オプションを使用します。
MSVC コンパイラには、小さな例外がいくつかありますが、ISO C99 標準に準拠する C ランタイム ライブラリ (CRT) が含まれています。 通常、移植可能なコードは予期したとおりにコンパイルおよび実行されます。 一部の古いライブラリ関数と、いくつかの POSIX 関数名は、MSVC コンパイラでは非推奨になっています。 関数はサポートされていますが、推奨される名前は変更されています。 詳細については、「CRT のセキュリティ機能」と「コンパイラ警告 (レベル 3) C4996」を参照してください。