본문 바로가기

C++

240718 VSCODE C++ 개발 환경 설정하기

나의 환경 : Mac M1 Pro 칩

 

전체 

1. C++ 확장 설치

VS Code의 확장 마켓플레이스에서 "C++" 확장을 설치합니다. 이는 Microsoft에서 제공하는 C/C++ 확장입니다

 

2. 컴파일러 설치

C++ 컴파일러가 시스템에 설치되어 있어야 합니다. macOS에서는 기본적으로 Xcode Command Line Tools를 사용합니다. 이를 설치하려면 터미널에서 다음 명령어를 실행합니다.

xcode-select --install

 

3. 빌드 및 실행을 위한 설정 파일 만들기

◾️ tasks.json : 빌드 명령어를 정의한다.

◾️ launch.json : 디버그 설정을 정의한다.

 

4. 빌드/디버그

빌드

: 'Terminal' → 'Run Build Task' ('Cmd + Shift + B' 또는 'Ctrl + Shift + B') 

 

디버그

: 'Run and Debug' ('Cmd+Shift+D' 또는 'Ctrl+Shift+D')에서 Start Debugging (F5)을 선택


tasks.json 설정

1. Command Palette 열기 ('Cmd + Shift + P' 또는 'Ctrl + Shift + P')

2. 'Tasks: Configure Task' 선택 후 'Create tasks.json file from template' 선택

3. 'Others' 선택

4. 다음 설정을 추가

{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: clang 활성 파일 빌드",
      "command": "/usr/bin/clang++",
      "args": [
        "-std=c++14",
        "-fcolor-diagnostics",
        "-fansi-escape-codes",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "디버거에서 생성된 작업입니다."
    }
  ],
  "version": "2.0.0"
}

 

launch.json 설정

1. Run and Debug ('Cmd+Shift+D' 또는 'Ctrl+Shift+D') 열기

2. 'Create a launch.json file' 선택

3. 'C++ (GDB/LLDB)' 선택

4. 다음 설정을 추가

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C++ Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "lldb",
      "preLaunchTask": "build",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "miDebuggerPath": "/usr/bin/lldb",
      "logging": {
        "engineLogging": true
      }
    }
  ]
}