[Visual Studio Code] VS Code C++ 개발 환경 설정 (MinGW)

2024. 7. 27. 18:47·💻 Programming/C++

 

본문은 개인적인 공부 목적이며, Window 10 환경에서 코테용 VS Code C++ 개발 환경 구축을 목적으로 작성하였습니다. 

 

❕ 환경 구축을 시도하는 과정 중에 여러 오류가 있었으며, 시도해 본 방법 중 최종으로 성공한 방법을 그대로 담았습니다. 😭

 

 


 

1. VS Code 설치

먼저, 아래 링크로 들어가서 VS Code를 설치한다.

 

🔗 링크 : Visual Studio Code

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 

 

 

 

2. MinGW 설치

다음으로 gcc와 g++를 사용하기 위해 MinGW를 설치해야한다.

 

 

아래 링크를 클릭하고 스크롤을 거의 끝까지 내리면 아래 사진처럼 다운로드 대상 파일들이 있을 것이다.

🔗 링크 : mingw-w64-release

 

MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net

Cybersecurity Starts With Password Security. Keeper is the top-rated password manager for protecting you, your family and your business from password-related data breaches and cyberthreats.

sourceforge.net

 

다운로드 대상 파일 (두 가지 중 택 1)

 

 

위의 다운로드 파일은 installer 형태로 받아지고, 아래의 다운로드 파일(x86_64-win32-seh)을 클릭하면 .7z 확장자 파일이 내려받아지게 된다. 

 

둘 중 하나를 선택해서 다운로드하자.

 

✔ 나는 아래 다운로드 파일(x86_64-win32-seh)을 선택했다.

 

이유는 install.exe을 처음 시도에 받아보았지만, 내 환경이랑 안 맞았는지 설치과정에서 에러가 났었다.

 

 

x86_64-win32-seh 파일을 다운로드 했으면 원하는 경로에 압축을 풀자.

  • 파일명은 x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z 이다.
  • 나는 C:\dev 경로에 압축을 풀었다.
    • C:\ 에 바로 압축을 푸는 경우가 일반적인 듯 하니 참고하자.

 

압축까지 풀었으면 mingw64 폴더가 생기고 아래 사진처럼 구성되어 있을 것이다.

압축을 풀고 생성된 mingw64 폴더의 모습

 

 

이제 위의 bin폴더의 경로를 복사한 뒤 환경변수를 설정하러 가보자.

  • 복사한 bin 경로: C:\dev\mingw64\bin
    • C:\ 에 압축을 푼 경우는 경로가 C:\mingw64\bin 이 될 것이다. 본인의 경로를 잘 확인하자!

 

 

 

 

 

3. 윈도우 환경 변수 설정 및 테스트

아래 사진처럼 윈도우 + R 을 누르고 sysdm.cpl 을 입력하면 시스템 속성창이 나온다.

윈도우 + R  을 누르고  sysdm.cpl

 

 

 

시스템 속성 > 고급 > (맨 아래) 환경 변수 > "시스템 변수" 칸에서 Path 더블클릭

 

새로 만들기를 눌러 아까 복사해 둔 C:\dev\mingw64\bin 경로를 입력해 준다.

 

아래 사진을 참고하자.

환경 변수 설정 과정

 

 

환경 변수 설정까지 끝마쳤으면 cmd를 열어 아래 두 개의 명령어를 입력해 MinGW설치와 환경변수 설정이 잘 되었는지 테스트해보자.

gcc --version
g++ --version

 

윈도우 cmd에서 테스트 한 모습

 

위 사진처럼 버전에 대한 정보가 뜨면 정상적으로 설정을 끝낸 거다.

 

 

 

 

 

4. VS Code C/C++ 확장팩 및 json 설정 파일들

이제 VS Code에서 설정만 해주면 된다.

 

C/C++ 관련 확장팩을 설치한 뒤에 C/C++ 작업하는데 꼭 필요한 json파일 3가지를 설정할 것이다.

설정이 필수인 json파일들 (아직은 없음)

 

 

 

먼저, C/C++ 확장 팩들을 추가하자.

 

VS Code에서 Ctrl + Shift + X를 누르거나 아래 사진에 표시된 아이콘을 누르고,

C/C++을 검색해서 아래 사진에 나온 3가지를 모두 install 한다.

설치해야하는 확장팩들 (3가지)

 

 

 

그리고 C/C++ 작업을 할 폴더를 생성하고 안에 cpp 파일을 하나 생성한다. (json 작업 전에 꼭 만들어주자!)

ProblemSolving 폴더에 test.cpp를 생성

 

 

 

test.cpp에 간단한 코드도 추가해 주자.

#include <iostream>
using namespace std;

int main(void) {
    cout << 해치웠나? << endl;
    return 0;
}

 

 

 

 

 

1) c_cpp_properties.json 생성 및 설정

cpp파일을 연 상태에서 F1로 명령어 팔레트를 열고, C/C++ edit configurations 를 검색하면 나오는 편집기(UI버전)를 클릭한다.

명령 팔레트로 검색

 

 

 

이후 나오는 편집기에서 아래 사진과 같이 수정해 준다.

(박스로 표시하지 않은 입력란들도 혹시 모르니 똑같이 설정되어 있는지 확인하자.)

C/C++ Configurations 편집

 

 

 

 

편집을 다 했으면 .vscode 폴더와 그 아래 c_cpp_properties.json 파일이 자동으로 생성된 걸 확인할 수 있다.

c_cpp_properties.json

 

 

 

2) tasks.json 생성 및 설정

아래 사진처럼 test.cpp을 열고 있는 상태로,

(상단) 메뉴바 > Terminal > Run Build Task > C/C++: g++.exe build active file 을 클릭하면,

.vscode 폴더 아래에 tasks.json 파일이 자동으로 생성된다.

tasks.json 생성 과정

 

 

 

생성된 tasks.json의 내용은 아래와 같다.

생성된 tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe build active file",
			"command": "C:/dev/mingw64/bin/g++.exe",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "C:/dev/mingw64/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "compiler: C:/dev/mingw64/bin/g++.exe"
		}
	]
}

 

 

 

 

 

3) launch.json 생성 및 설정

마지막으로 launch.json을 설정하자.

 

아래사진처럼 test.cpp을 열고 있는 상태에서,

(상단) 메뉴바 > Run > Add Configuration... > C++ (GDB/LLDB) > g++.exe build and debug ~~ 을 클릭하면,

.vscode 폴더 아래 launch.json이 자동으로 생성이 된다.

 

✔ 여기서 내가 겪은 일

 

정상적인 결과는

(상단) 메뉴바 > Run > Add Configuration... > C++ (GDB/LLDB) > g++.exe build and debug ~~ 까지 클릭하면 기본적인 내용이 작성된 launch.json이 생기는 듯하였으나....

 

나는 Run >Add Configuration... > C++ (GDB/LLDB) 까지가 선택지가 끝이었고, 비어있는 launch.json이 생성되었었다. 

 

그래서 내용을 직접 채워 넣은 케이스다 :)

(혹시 모르니 코드도 같이 첨부합니다)

 

launch.json 생성

 

 

생성된 launch.json의 내용은 아래와 같다.

생성된 launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - 활성 파일 빌드 및 디버그",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\dev\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "gdb에 자동 서식 지정 사용",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

 

 

 

 

 

마무리

모든 설정은 끝났다!

만들어둔 test.cpp 을 열고 F5를 눌러 실행시키면 아래처럼 정상적으로 작동할 것이다.

터미널에 정상적으로 출력된 모습이다.

 


 

저작자표시 비영리 변경금지 (새창열림)

'💻 Programming > C++' 카테고리의 다른 글

[C++] STL sort() 함수 사용법  (0) 2024.08.09
[C++/컴파일 에러] error: cannot jump from switch statement to this case label 에러 해결 및 원인  (0) 2024.07.23
[C++] STL(Standard Template Library) 정리  (0) 2024.07.04
'💻 Programming/C++' 카테고리의 다른 글
  • [C++/컴파일 에러] error: invalid conversion from 'std::ios_base& (*)(std::ios_base&) 에러 해결 및 원인
  • [C++] STL sort() 함수 사용법
  • [C++/컴파일 에러] error: cannot jump from switch statement to this case label 에러 해결 및 원인
  • [C++] STL(Standard Template Library) 정리
Mojing_
Mojing_
매일 매일 경험치를 쌓는 모징이의 개발 블로그입니다 :) This is Mojing’s Dev Blog where she gain experience points every day. :)
  • Mojing_
    모징이의 개발 경험치
    Mojing_
  • 전체
    오늘
    어제
    • 분류 전체보기 (152)
      • 👻 Unity (14)
        • 🔧 기능 구현 (1)
        • 💡 유니티 팁 (1)
        • 📘 Unity 노트 (8)
        • 📍 Quest Log (1)
      • 💻 Programming (14)
        • C (3)
        • C++ (9)
        • C# (0)
        • Swift (2)
      • 💾 Computer Science (16)
        • Algorithm (9)
        • Software Engineering (7)
      • 🐸 Problem Solving (108)
        • Programmers (41)
        • BOJ (67)
      • 🔋 ETC (0)
  • 인기 글

  • 공지사항

  • 태그

    dynamic programming
    티스토리챌린지
    BOJ
    Unity
    C++
    algorithm
    오블완
    sort
    CS
    탐색
    프로그래머스
    Problem Solving
    backtracking
    DFS/BFS
    programmers
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Mojing_
[Visual Studio Code] VS Code C++ 개발 환경 설정 (MinGW)
상단으로

티스토리툴바