C++ 개발을 시작하려는데 리눅스(Ubuntu)에서는 어디서부터 손대야 할지 막막하신가요? 이 글은 Ubuntu 환경에서 C++ 개발을 위한 실전 설정법을 소개합니다. 특히 VSCode를 활용해 빌드, 실행, 디버깅까지 가능한 개발 환경을 직접 손에 익힐 수 있게 도와드려요.

윈도우에서는 Visual Studio를 쓰는 경우가 많지만, 리눅스에서는 이를 대체할 설정이 필요합니다.
이 문서는 Ubuntu 리눅스에서 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 등 리눅스 기반의 어디서든 쉽게 재현 가능합니다. Python과 연동하거나 C++ AI 모듈과 연계하는 경우, 이 구조는 매우 강력한 기반이 됩니다.