C++開発を始めようとされていますが、Linux(Ubuntu)ではどこから手をつければ良いかお悩みですか?この記事では、Ubuntu環境でのC++開発のための実践設定法を紹介します。特にVSCodeを活用して、ビルド、実行、デバッグまで可能な開発環境を自分の手で習得できるようお手伝いします。
WindowsではVisual Studioを使用することが多いですが、Linuxではこれを代替する設定が必要です。
この文書は、Ubuntu LinuxでC++開発の環境を構築し、VSCodeでデバッグとビルド自動化を設定する方法をまとめた文書です。
C++初心者でも簡単に従えるように段階的に構成されています。
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で拡張可能です。
参考
- VSCode公式C++ドキュメント
- gdbコマンドチュートリアル
- cppreference - 言語の種類
作成者のノート
この環境は個人サーバー、Raspberry Pi、GCP VMなどLinuxベースのどこでも簡単に再現可能です。 Pythonと連携したりC++ AIモジュールと連携する場合、この構造は非常に強力な基盤となります。
Add a New Comment