[C++] C++ 개발 환경 세팅 ft. VSCode

2022. 5. 29. 14:20♣ C++

 

 

 

C++ 개발 환경을 세팅해보자.

VSCode, Window 10 환경임을 미리 알린다.

 

 

 

우리의 목표는 위와 같이 코드를 입력했을 때, 결과물이 나오는 것이다.

Let's go

 

 

 

 

 

 

Step 1. VScode 환경 구축


C++ 확장 패키지들을 설치해줍니다.

 

 

총 3개입니다.

 

 

 

 

 

 

Step 2. MinGW 설치


윈도에서 C/C++의 컴파일러 gcc, g++ 을 설치하기 위해서는 MinGW를 설치해야 한다.

 

접속해서 초록색의 다운로드 버튼을 누르자.

https://sourceforge.net/projects/mingw/files/

 

MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net

 

sourceforge.net

 

 

 

 

바로 실행하기를 눌러서  exe 파일을 열어준다.

Install 클릭

 

 

 

 

Continue 클릭

 

 

 

 

Continue 클릭

 

 

 

 

4가지 체크하기

오른쪽 마우스를 이용해서 Mark for Installation을 클릭하면 체크 표시된다. 

 

 

 

 

 

Apply Changes

 

 

 

 

 

Apply

 

 

 

 

 

Close

완료 창이 나타나면 Close를 눌러주면 끝입니다.

 

 

 

 

 

 

 

 

Step 3. 환경 변수 편집


 

[시스템 환경 변수 편집] - [고급] - [환경 변수] 로 들어가 줍니다.

 

 

 

 

[Path] - [편집]

새로 만들기를 클릭하여 MinGW\bin의 파일 경로를 등록해줍니다.

 

 

 

 

 

 

 

 

Step 4. 중간 확인


[cmd.exe] 파일에 들어가서 gcc가 제대로 작동하는지 확인해줍시다.

 

 

 

gcc -v 입력

 

위와 같이 뜨면, 지금까지 잘 해내고 있는 것입니다.

이제 막바지입니다.

 

 

 

 

 

Step 5. VSCode 빌드 설정


 

이제 자신이 쓰고 싶은 폴더를 작업 영역에 추가해주고,

확장자를. cpp로 파일 하나를 만들어줍니다.

 

 

파일에 다음 코드를 입력해두세요.

#include <iostream>
#define TEXT "hello world \n"

int main()

{

    std::cout  << TEXT;
    return 0;

}

 

 

 

본격적으로 빌드를 구성해봅시다.

[터미널] - [기본 빌드 작업 구성] 클릭

 

 

 

 

원래 처음 환경을 세팅한다면 아무것도 나와있지 않을 것입니다. 혹은 밑에 빨간색 선택지가 존재할 것입니다.

그저 클릭해주세요.

 

 

 

JSON 파일이 하나 열립니다. 그곳에 밑의 코드를 복붙 해주세요.

 

# JSON

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "컴파일러: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

 

 

빌드 작업은 끝났습니다. 더 원활한 개발 환경을 위해 단축기를 설정하겠습니다.

 

 

 

 

 

단축기 설정하기

[파일] - [기본 설정] - [바로 가기 키] 이동해줍니다.

 

 

 

이렇게 단축키 리스트가 뜨는데, 가장 오른쪽의 빨간색 네모 안에 있는 아이콘을 클릭합니다.

 

 

 

JSON 파일이 열릴 것이고, 아래 코드를 복붙 해주세요.

 

// Place your key bindings in this file to override the defaults
// 아래 키 바인딩을 파일에 넣어서 기본값을 덮어 씁니다.


[
    // 컴파일
    {
        "key": "ctrl+alt+c",
        "command": "workbench.action.tasks.build"
    },
    // 실행
    {
        "key": "ctrl+alt+r",
        "command": "workbench.action.tasks.test"
    }
]

 

 

 

 

 

 

 

 

 

 

Step 6. Final 실행


 

Ctrl + Alt + C 

-> save and compile for C++ C++ 클릭해주면, 해당 파일이 컴파일되면서 exe 파일이 만들어집니다.

 

 

 

 

Ctrl + Alt + R 

-> execute C++ 클릭해주면, exe 파일이 실행되면서 결과물을 보여줍니다.