「ロナえる」の夫です。
今回は、Visual Studio Code(VSCode)でコンパイル・ビルドする方法を紹介します。
このような方におすすめ
- C/C++でコンパイルをしたい方
- VSCodeを利用している方
- Windowsを利用している方(※)
※Macでも同様にコンパイル・ビルドができると思いますが、今回はWindowsに絞って説明をします。
C/C++は、LinuxやMacOSといった導入すぐにターミナルベースで開発できるOSと異なり、Windowsでは少し手間がかかる印象です。
また、アプリをVSCodeを利用して開発している人も多いと思います。
僕自身もVSCodeで開発することが多く、VSCodeでコンパイル・ビルドできると便利だと思っていたところ、公式サイトでやり方を見つけたので、そちらを参考にしつつ紹介したいと思います。
環境
OS:Windows 11 (64bit)
エディタ:Visual Studio Code (VSCode)
準備
VSCodeはすでにインストールして、利用している前提です。
1. C/C++のプラグインを導入

VSCodeを起動します。
起動後、左手にある「拡張機能」を選択します(画像の赤く囲まれたところ)。
ここで、プラグインをインストールすることができます。
2. 「C/C++」をインストール

検索画面で、「C++」と検索。
検索結果で表示される「C/C++」を選択し、インストールします。
このプラグインは、今回のコンパイル・ビルドだけでなく、
- コードのハイライト化(コードを見やすく)
- InterlliSense機能(コード予測機能)
等の機能もあるので、C/C++を利用するなら必須プラグインです。
3. コードを記述

今回は、非常に簡単なコードを作りました。
実行すると、「Hello World」が表示されます。
ただ、このままだと、#include <iostream>
に赤い波線が出ている通り、コンパイルエラーとなります。
新規コードの作成
新規コードの作り方がわからない方は、次の手順で作成できます。
「ファイル」 → 「新規ファイル」
「Untitled-1」というファイルができると思いますが、このままだとC++のファイルだと認識してくれません。
そのため、「Ctrl + s」で「○○.cpp」と名前を付けて保存してください。
本記事では、「sample.cpp」と保存しています。
4. 「includePathを更新してください」が表示されてしまう

「#include <iostream>」の赤い波線にマウスのカーソルを合わせると、
「#include エラーが検出されました。includePath を更新してください。」
と表示されるので、これを解決していきます。
5. Msys2(MinGW)のインストール
上記をエラーを解決するためには、コンパイラーが必要になります。
コンパイラーにはMinGWを使いますが、そのためには、Msys2をまずインストールします。
Msys2とは、Windows 上で UNIX/Linux と同じシェル環境を導入できるツールですが、これによってMinGWを簡単にインストールすることができます。
まずは、こちらのリンクからMsys2をインストール。
インストール後、インストーラーをクリックすると、インストールが始まります。

フォルダ等の指定がなければ、この先ウィンドウはすべて「次へ」。

終了したら「完了」をクリックして、Msys2を起動します。
6. Msys2でMinGWをインストール
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
起動したMsys2に上記コマンドを入力してください。
こちらで、MinGWをインストールすることができます。
コピペしたい方は、「Ctrl+v」ではコンソール上にコピーできないので、右クリックをして、出てきたメニューで「Paste」を選択して下さい。そして、「Enter」で実行してください。

実行後には、「Enter a selection」と確認されますが、何も入力せずに「Enter」で先に進めてください。

「Proceed with installation?」とも確認されるので、こちらは「Y」を入力して「Enter」でOKです。

これで、MinGWがインストールされたはずです。
C:\msys64\mingw64\bin
を確認してもらうと、いくつかファイルがあればインストール成功です。

7. 環境変数の追加
MinGWがインストールができたら、すぐにVSCodeでコンパイルができるわけではありません。
環境変数に先ほどのMinGWのパスを追加する必要があります。
この手順によって、VSCodeにコンパイラーの在りかを教えることができます。
環境の変数を設定するには、まず「Windows」ボタンを押下します。

すると、検索画面が立ち上がるので、そこで「環境変数を編集」と入力。
次に、表示されたダイアログで、「Path」を選択し、「編集」を押下。

さらに、出てきたダイアログで、「新規」を押下後に、青色で表示されたところに、先ほどのMinGWのパスを入力します。

同じ環境ができていれば、パスは
C:\msys64\mingw64\bin
を入力をすればOKです。
入力後には、すべてのダイアログを「OK」で終了し、PCを再起動してください。
再起動することで、環境変数を反映されます。
実行
ここまで来れば、あとはコンパイル・ビルドを実行するだけです。
8. コンパイル・ビルド
ビルド時にデフォルトのC++の機能以外のDLL(自作やWebで拾ってきたDLL)を導入する場合は、パスの設定をVSCodeに必要だと思いますが、今回は割愛します。

「ターミナル」→「タスクの実行」

表示された選択肢の中で、
「C/C++: g++.exe アクティブなファイルのビルド」
を選択して下さい。
表示されない場合は、選択肢の一番下に「すべてのタスクの表示...」とあると思うので、そちらを選択してもらうと、先ほどの選択肢が表示されます。
ビルドを実行すると、ソースファイルを同じフォルダに、「○○.exe」というファイルが作成されます。
僕の環境の場合は、「sample.exe」というファイルが作成されています。
9. 実行
先ほどのビルドした手順と同じタブに、新しくターミナルを表示する選択肢があります。
「ターミナル」→「新しいターミナル」

起動したターミナルで、
.\sample.exe
と入力すると、「Hello World」が表示されます。
※実行ファイル名が異なればその名前で実行してください。
おわりに
C/C++は、LinuxやMacOSでコンパイルするのは比較的すぐできますが、Windowsだと少し面倒ですね。
特に、VSCodeを使っている方も多いと思うので、参考にしてもらえればうれしいです。