C++開発を始めようとされていますが、Linux(Ubuntu)ではどこから手をつければ良いかお悩みですか?この記事では、Ubuntu環境でのC++開発のための実践設定法を紹介します。特にVSCodeを活用して、ビルド、実行、デバッグまで可能な開発環境を自分の手で習得できるようお手伝いします。

WindowsではVisual Studioを使用することが多いですが、Linuxではこれを代替する設定が必要です。
この文書は、Ubuntu LinuxでC++開発の環境を構築し、VSCodeでデバッグとビルド自動化を設定する方法をまとめた文書です。
C++初心者でも簡単に従えるように段階的に構成されています。

Linux penguin interacting with C++ logo

1. 必要なパッケージのインストール

sudo apt update
sudo apt install build-essential gdb

build-essentialには以下が含まれます:

  • g++ : C++コンパイラ
  • gcc : Cコンパイラ
  • make : ビルド自動化ツール
  • dpkg-devなど

2. VSCodeのインストール (Snap基準)

sudo snap install code --classic

または https://code.visualstudio.com から直接インストール可能


3. VSCode拡張のインストール

  • C/C++ (by Microsoft)
  • (オプション)Code Runner: コードの迅速実行用

4. プロジェクトディレクトリの作成とサンプルファイルの準備

mkdir ~/cpp_projects/helloworld
cd ~/cpp_projects/helloworld
code .

サンプルファイルmain.cppを作成:

#include <iostream>

int main() {
    std::cout << "Hello, C++!" << std::endl;
    return 0;
}

5. .vscode/tasks.jsonの設定 (自動ビルド)

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build C++ file",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "main.cpp",
                "-o",
                "main"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "Compile main.cpp to main"
        }
    ]
}

Ctrl + Shift + Bでビルド可能


6. .vscode/launch.jsonの設定 (デバッグ)

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/main",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "build C++ file",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

F5でデバッグ実行可能 自動的にコンパイルしデバッグに入ります。


7. コンパイル及び実行の概要

動作 ショートカットキー
ビルド (コンパイル) Ctrl + Shift + B
実行及びデバッグ F5
ターミナル実行 ./main (直接実行時)

8. 追加のヒント

  • g++ -g main.cpp -o mainコマンドはデバッグ情報を含むコンパイルです。
  • 他の.cppファイルを追加する際はargsでファイル名を修正する必要があります。
  • 複数ファイルがある場合はMakefileまたはCMakeで拡張可能です。

参考

作成者のノート

この環境は個人サーバー、Raspberry Pi、GCP VMなどLinuxベースのどこでも簡単に再現可能です。 Pythonと連携したりC++ AIモジュールと連携する場合、この構造は非常に強力な基盤となります。