99
74

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C/C++をVSCodeで開発するための環境構築

Last updated at Posted at 2023-06-01

はじめに

ひとこと

アクセスしていただきありがとうございます。
筆者がタイトルの環境を構築するときにかなり苦戦したため、これから頑張ろうとされている方に同じ思いをして欲しくないと思い、この記事を投稿しました。

目的

  • VSCodeでC/C++の編集、実行ができる環境を構築する
  • (任意)VSCodeでC/C++のデバッグができる環境を構築する
  • (任意)構築した環境を更新する

検証済みの環境

  • 64ビットWindows11

お使いのWindowsが何ビットOSかを確認する方法はこちら
https://qiita.com/ochx/items/cc56b6f06fcee03dad96

  • 管理者権限がある Windowsアカウント

ご注意

  • 記事のすべての情報は 2024/11/20現在 のものです
  • ただし、画像の切り替えが完了していないため、 実際とは異なる場合 があります
  • エクスプローラーにおけるファイルとフォルダの コピー切り取り貼り付け削除 などの基礎的な操作はできることを前提としています
  • 「検証済みの環境」で記事の通りに構築しても、他の要因によって正常に動作しない可能性があります。その際はコメントしていただけますと対応いたします

略語

略語 正式名称
VSCode Visual Studio Code

1. (環境を更新したい方向け)古いMinGWを削除する

ここでは、この記事の方法で構築された環境を用いて説明します。
この記事とは異なる方法で構築された環境の場合、フォルダのパスなどが異なる場合があります。

1. 既存のmingw64フォルダを削除します

  1. エクスプローラー を開きます
  2. ナビゲーション ウインドウ(エクスプローラーの左側)の PC 内の Windows (C:) ドライブを開きます
  3. Program Files (x86) フォルダを開きます
  4. mingw64 フォルダを 削除 します

2. MinGWを準備する

1. MinGWの7zipファイルをダウンロードします

1つ目のURLから最新のバージョンのMinGWを直接、ダウンロードできます。
2つ目のURLから古いバージョンのMinGWを閲覧できます。

ダウンロードが完了したら、次に進んでください。

MinGW(ミンジーダブリュー)とはMinimalist GNU for Windowsの略称で、Windowsで GNUツールチェーンGCC を利用できるようにする開発環境です。
MinGWについて筆者自身も説明できるほど詳しくなく、またここで説明するには長くなりすぎるため割愛させていただきます。
今回は C/C++をコンパイルするため にGCCを使用します。
GCC(ジーシーシー)とはGNU Compiler Collection(グヌーコンパイラコレクション)の略称で、 複数の言語をコンパイルできるコンパイラ群 です。

2. ダウンロードした7zipファイルを展開します

  1. エクスプローラー を開きます
  2. ナビゲーション ウィンドウ(エクスプローラーの左側)の ダウンロード フォルダを開きます
  3. ダウンロードした7zipファイルを選択します
  4. すべて展開 を選択します
    > 新しく アーカイブ抽出 ウィンドウが開きます
    スクリーンショット (1).png
  5. 完了時に展開されたファイルを表示する を選択します
  6. 展開 を選択します
    > 展開が始まり完了したら、アーカイブ抽出 ウィンドウが閉じ、新しくエクスプローラーが開きます
    スクリーンショット (3).png

展開が完了したら、次に進んでください

Windows11(の特定のビルド)から、Windowsの機能として様々な形式の圧縮ファイルを展開できるようになりました

3. mingw64フォルダを移動させます

  1. mingw64 フォルダを切り取ります

  2. ナビゲーション ウィンドウ(エクスプローラーの左側)の PC 内の Windows (C:) ドライブを開きます

  3. Program Files (x86) フォルダを開きます
    スクリーンショット (5).png

  4. mingw64 フォルダを貼り付けます
    > 新しく 対象のフォルダーへのアクセスは拒否されました ウィンドウが開きます
    スクリーンショット (65).png

  5. 続行 を選択します
    > 対象のフォルダーへのアクセスは拒否されました ウィンドウが閉じ、貼り付けされます

Program Files (x86)フォルダに直接、展開することはできません。

環境を更新したい方向け
古いmingw64フォルダとパスが変わらない場合は、これで完了です。
「5. 正しく設定できたか確認します」で設定できているか確認してください。

4. 環境変数を設定します

  1. mingw64 フォルダを開きます
  2. bin フォルダを選択します
  3. を選択します
  4. パスのコピー を選択します
    スクリーンショット (7).png
  5. 設定 を開きます
  6. システム を選択します
  7. バージョン情報 を選択します
    スクリーンショット (66).png
  8. デバイスの仕様 内の システムの詳細設定 を選択します
    > 新しく システムのプロパティ ウィンドウが開きます
  9. 環境変数 を選択します
    > 新しく 環境変数 が開きます
  10. システム環境変数 内の Path を選択します
  11. 編集 を選択します
    > 新しく 環境変数名の編集 が開きます
    qiita_c&c++_vscode_4.png
  12. 新規を選択します
  13. コピーしたアドレスをペーストし、文字列の先頭と末尾にある " を消します
    // 間違っている例
    "C:\Program Files (x86)\mingw64\bin"
    
    // 正しい例
    C:\Program Files (x86)\mingw64\bin
    
  14. 環境変数名の編集OK を選択します
    > 環境変数名の編集 が閉じます
    qiita_c&c++_vscode_5.png
  15. 環境変数OK を選択します
    > 環境変数 が閉じます
  16. システムのプロパティ ウインドウの OK を選択します
    > システムのプロパティ ウインドウが閉じます

ここまで完了したらエクスプローラーと設定は閉じても大丈夫です

これでbinフォルダ内のすべてのexeファイルを実行しやすくなります

5. 正しく設定できたか確認します

  1. 下記のコードをコピーします
    gcc --version
    
  2. コマンドプロンプト を開きます(「Windowsキー + Rキー」を押し、 cmd と入力し、 「Enterキー」を押すと開きます)
  3. コードをペーストします
  4. Enterキー を押します
  5. 次のような出力になれば正しく設定できています
    gcc (x86_64-win32-seh-rev0, Built by MinGW-Builds project) 14.2.0
    Copyright (C) 2024 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

ここまで完了したらコマンドプロンプトは閉じても大丈夫です

2. VSCodeを準備する

1. VSCodeをインストールします

  1. Microsoft Store を開きます
  2. 上部の検索バーに vscode と入力し、検索します
  3. VSCode をインストールします
    スクリーンショット (8).png
    インストールが完了したら、次に進んでください

VSCodeはカスタマイズ性が高いソースコードエディタです
様々な拡張機能などによって、自分好みのエディタにすることができます

2. (日本語で使いたい方向け)Japanese Language Pack for Visual Studio Codeをインストールします

  1. VSCode を開きます
  2. 左側のサイドバーの Extensions を選択します
  3. Japanese Language Pack for Visual Studio Code と検索し、インストールします
    スクリーンショット (9).png
    インストールが完了したら、次に進んでください

~ Language Pack for Visual Studio Code はVSCodeを各言語で利用できるようにするための拡張機能です

3. (日本語で使いたい方向け)Japanese Language Pack for Visual Studio Codeを設定します

  1. 上部のメニューバーの View を選択します
  2. Command Pallet を選択します
    スクリーンショット (10).png
  3. Configure Display Language と入力します
    スクリーンショット (11).png
  4. 日本語(ja) を選択します
    スクリーンショット (12).png
  5. VSCode を再起動します

4. C/C++ Extension Packをインストールします

「2. (任意)Japanese Language Pack for Visual Studio Codeをインストールします」と同様の手順で C/C++ Extension Pack をインストールします
インストールが完了したら、 VSCode を再起動します

C/C++ Extension Pack はC/C++の編集を便利にするための拡張機能をまとめたパッケージです

5. Code Runnerをインストールします

「2. (任意)Japanese Language Pack for Visual Studio Codeをインストールします」と同様の手順で Code Runner をインストールします
インストールが完了したら、 VSCode を再起動します

Code Runner はコードの実行を簡単にするための拡張機能です

5. Code Runnerを設定します

  1. Code Runner「歯車」のアイコン を選択します
  2. 拡張機能の設定 を開きます
    スクリーンショット (13).png
  3. Run In Terminal をチェックします
    スクリーンショット (14).png

これでターミナルから入力をできるようになります

3. C/C++ファイルを実行およびデバッグ(任意)できるか確認します

CとC++で共通している内容については、Cで説明しています。

1. C/C++ファイルを実行ができるか確認します

  1. 左上の ファイル を選択します
  2. 新しいテキストファイル を選択します
    スクリーンショット (15).png
  3. 言語の選択 を選択します
  4. C または C++ を選択します
    スクリーンショット (16).png
  5. 次のサンプルコードをコピーし、エディタに貼り付けます
    C の場合
    test.c
    #include <stdio.h>
    
    void main(void) {
        printf("Hello World");
    }
    
    C++ の場合
    test.cpp
    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout << "Hello World" << endl;
    }
    
  6. 右上の Run Code を選択します
    (コンパイラを尋ねられたら gcc を選択します)
    スクリーンショット (17).png
  7. 下部に ターミナル が表示され、Hello World と表示されれば完了です
    スクリーンショット (18).png

2. (デバッグしたい方向け)C/C++ファイルをデバッグできるようにします

デバッグしたいファイルのパスに日本語が含まれる場合、デバッグできない可能性があります

条件に当てはまるかを確認する方法

  1. エクスプローラーを開く
  2. デバッグしたいC/C++ファイルを選択する
  3. 右クリックでメニューを開きます
  4. パスのコピーを選択します
  5. コピーしたパスをメモ帳などに貼り付けし、日本語が含まれているか確認します

(「3. C/C++ファイルを実行およびデバッグ(任意)できるか確認します」の「1. C/C++ファイルを実行ができるか確認します」の続きです)

  1. 左上の ファイル を選択します
  2. 保存 を選択します
    スクリーンショット (19).png
  3. 任意の名前を付けて、任意のフォルダに保存します
    例では、ファイル名を test.c とし、フォルダ名を test としたフォルダに保存します
    C++の場合は、 test.cpp としてください
    スクリーンショット (20).png
  4. 左側のサイドバーの 実行とデバッグ を選択します
  5. フォルダーを開いた を選択します
    スクリーンショット (21).png
  6. testフォルダ を選択します
    スクリーンショット (22).png
  7. 左側のサイドバーの エクスプローラー を選択します
  8. test.c または test.cpp を選択します
  9. 右上の Run Code を選択します
    スクリーンショット (24).png
  10. 左側のサイドバーの 実行とデバッグ を選択します
  11. launch.jsonファイルを作成します を選択します
  12. C++ (GDB/LLDB) を選択します
    スクリーンショット (24).png
  13. 元から書いてあるテキストをすべて削除します
  14. 以下のコードをコピーして、エディタに貼り付けます
    launch.json
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/test.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "/path/to/gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    
  15. 先ほど同じように、 保存 します
  16. 先ほど同じように、 エクスプローラー から test.c または test.cpp を選択します
  17. 4行目4 の左側で、赤い丸が表示されるところにカーソルを移動させ、選択します
  18. 右上の 三角 を選択します
  19. C/C++ ファイルのデバッグ を選択します
    スクリーンショット (25).png
  20. C/C++:gcc.exe アクティブ ファイルのビルドとデバッグ を選択します
  21. デバッグが開始され、実行が4行目で 停止 すれば完了です
    スクリーンショット (26).png

さいごに

ひとこと

最後までご覧いただきありがとうございます。
ご意見などがございましたら、遠慮なくコメントいただけると幸いです。
また、バージョンが変わっているなども報告いただけると助かります。

99
74
21

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
99
74

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?