C++ 개발을 시작하려는데 리눅스(Ubuntu)에서는 어디서부터 손대야 할지 막막하신가요? 이 글은 Ubuntu 환경에서 C++ 개발을 위한 실전 설정법을 소개합니다. 특히 VSCode를 활용해 빌드, 실행, 디버깅까지 가능한 개발 환경을 직접 손에 익힐 수 있게 도와드려요.
윈도우에서는 Visual Studio를 쓰는 경우가 많지만, 리눅스에서는 이를 대체할 설정이 필요합니다.
이 문서는 Ubuntu 리눅스에서 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 - Language types
작성자 노트
이 환경은 개인 서버, Raspberry Pi, GCP VM 등 리눅스 기반의 어디서든 쉽게 재현 가능합니다. Python과 연동하거나 C++ AI 모듈과 연계하는 경우, 이 구조는 매우 강력한 기반이 됩니다.
Add a New Comment