[C++][윈도우] C++ 개발을 위한 MinGW 설치와 VSCode 설정 방법

2025. 9. 7. 01:49Languages/C++

반응형

I. MinGW 설치 방법

1. 다음 페이지로 이동한다: https://code.visualstudio.com/docs/languages/cpp#_example-install-mingwx64-on-windows

이후 "this direct link to MinGW Installer"라는 링크를 클릭해 MinGW 설치 파일을 다운로드 받은 뒤 실행한다.

2. 다운로드 받은 "msys2-x86_64-20241208.exe" 따위의 설치 파일을 실행한 뒤 디폴트 설치 위치에 해당 파일을 실행한다.

3. 설치된 MSYS2가 실행된 직후 다음 명령을 입력해 관련 툴체인(Toolchain)을 전부 설치한다. 기본 설정값이 "all"이므로 엔터와 "Y"로 동의 의사만 입력하면 설치가 정상적으로 진행된다.

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

4. 설치가 완료된 직후 다음과 같이 gcc 버전 정보를 출력하면,

g++ -v

아래와 같이 "gcc version 14.2.0" 따위의 현재 gcc 버전이 출력되게 된다.

 

II. C++ 개발을 위한 VSCode 설정 방법

이제 VSCode에서 방금 설치한 gcc를 C++ 코드를 컴파일할 용도의 컴파일러로 설정해야 한다.

A. 컴파일러 경로 변경

5. "Ctrl + Shift + P"를 눌러 커맨드 팔레트(Command Palette)를 실행한 다음 "C/C++: Edit Configurations (UI)" 선택한다.

6. 다음으로 "Compiler path" 항목으로 이동해 "C:/msys64/ucrt64/bin/g++.exe" 경로를 선택해서 방금 설치한 MSYS2의 gcc 컴파일러 경로를 지정한다.

7. 위와 같이 컴파일러 경로를 변경하고 나면 VSCode의 Output 창에 인텔리센스모드(IntelliSenseMode)의 경로가 기존의 "windows-msvc-x64"에서 "windows-gcc-x64"로 변경되었다는 로그 메시지를 확인할 수 있다.

 

B. 인텔리센스 모드 변경

8. 하지만 로그 메시지와 별개로 인텔리센스모드(IntelliSenseMode)는 해당 설정 창에서 다시 "windows-gcc-x64"로 직접 지정해줘야 한다.

 

C. C/C++ 표준 설정

9. 또한 필요한 경우 선택적으로 C 표준과 C++ 표준을 선택할 수도 있다.

 

지금까지 컴파일러 경로, 인텔리센스 모드, C/C++ 표준 설정 등은 전부 아래 경로에 "c_cpp_properties.json"이라는 이름의 파일로 VSCode에 저장 및 적용이 된 것이다.

.vscode\c_cpp_properties.json

 

참고로 해당 파일의 내용은 다음과 같다.

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.22621.0",
      "compilerPath": "C:/msys64/ucrt64/bin/g++.exe",
      "cStandard": "c17",
      "cppStandard": "c++17",
      "intelliSenseMode": "windows-gcc-x64"
    }
  ],
  "version": 4
}

 

D. 디버거(Debugger)와 구성(Configuration) 선택 및 코드 실행

10. 이제 "F5 (Start Debugging)"로 코드를 실행해서 다음과 같이 "C++ (GDB/LLDB)"를 선택한다.

11. 그리고 다음과 같이 "C/C++: g++.exe build and debug active file"을 구성(configuration)으로서 선택한다.

12. 이제 하단의 출력 창들 가운데 "터미널(Terminal)" 창으로 이동하면 "hello, world"라는 문자열이 gcc로의 컴파일을 통해 성공적으로 출력된 것을 확인할 수 있다.

여기까지 디버거와 구성 등은 전부 아래 경로에 "tasks.json"이라는 이름의 파일로 VSCode에 저장 및 적용이 된 것이다.

.vscode\tasks.json

참고로 해당 파일의 내용은 다음과 같다.

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:/msys64/ucrt64/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:/msys64/ucrt64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

 

E. 디버그 구성(Debugger Configuration)

13. 다음으로 디버그 구성을 추가할 차례다. 다음과 같이 다시 커맨드 팔레트를 열어 "C/C++: Add Debug Configuration"를 선택해 디버그 구성을 추가한다.

14. 이번에도 g++ (gcc)를 선택한다.

여기까지 디버거와 구성 등은 전부 아래 경로에 "tasks.json"이라는 이름의 파일로 VSCode에 저장 및 적용이 된 것이다.

.vscode\launch.json

참고로 해당 파일의 내용은 다음과 같다.

{
  "configurations": [
    {
      "name": "C/C++: g++.exe build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "C:/msys64/ucrt64/bin",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
      "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
        }
      ],
      "preLaunchTask": "C/C++: g++.exe build active file"
    }
  ],
  "version": "2.0.0"
}

 

III. C++ 개발을 위한 VSCode 설정 테스트 방법

15. 이제 지금까지 고생해서 설정한 VSCode 설정을 테스트할 때다. 먼저 다음과 같이 간단한 C++ 소스코드 파일을 준비한다.

#include <cstdint>
#include <iostream>

using namespace std;

int32_t main()
{
    cout << "hello, world" << endl;
    return 0;
}

16. 그리고 cout 명령이 있는 줄(Line)에 "F9" 단축키를 눌러서 브레이크포인트(Breakpoint)를 추가한 다음, 해당 소스코드를 컴파일, 링킹한 다음 실행해서 다음과 같이 디버거가 해당 브레이크포인트에서 멈추고 정상적인 디버깅 동작을 수행할 수 있는지까지 확인하면 본 C/C++ 개발을 위한 MinGW 설치와 VSCode 설정에 대한 동적 테스트가 완료된다.

 

참고 자료

 

C/C++ for Visual Studio Code

Find out how to get the best out of Visual Studio Code and C++.

code.visualstudio.com

 

반응형