vscode 에서 cpp 로 코딩을 해보자

1. MinGW 설치

MinGW 는 우리가 window 에서 gcc 를 사용할 수 있도록 해주는 역할을 한다.

gcc 는 GNU 컴파일러 모음의 약자인데 컴파일러이다

다운로드 링크

image
image 1

다운로드한 setup.exe 를 실행시키고 install 한다. 체크 박스들은 건들지 않았다.

image 2
image 3
image 4
image 5
image 6
image 7

위에 사진을 참고해서 순서대로 진행하여 설치하면 된다.

image 8

install 완료 후 close 를 누른다.

설치 완료 후 윈도우 시스템에 환경변수를 등록해주어야 한다.

image 9

시스템 환경 변수 편집을 검색하여 들어가고

고급 -> 환경 변수 -> 시스템 변수 -> Path -> 편집 에 들어간다.

image 10

새로 만들기를 눌러서 C:\MinGW\bin 을 추가한다.

image 11

여기 까지 진행을 했다면

image 13

cmd, 명령 프롬포트 창에서 gcc -v 를 입력했을 때 위 사진과 같이 버전확인이 가능해진다.

2. VScode 설정

ctrl+shift+p 를 눌러서 -> 기본 빌드 작업 구성을 클릭한다.

tasks.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",
//            "group": {
//               "kind": "build",
//                "isDefault": true
//            },
            
            "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": "build",
              
            // "group": {
            //     "kind": "build",
            //     "isDefault": true
            // },

            "detail": "컴파일러: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

위에 코드를 복사 붙여넣기 한다.

다시 ctrl+shift+p 즉 명령창에 바로가기 키 열기(json) 을 입력하여 클릭한다.

image 17
    {
        "key": "ctrl+alt+b",
        "command": "workbench.action.tasks.build"
    },
    {
        "key": "ctrl+alt+t",
        "command": "workbench.action.tasks.test"
    }

위 코드를 추가 해준다.

#include <iostream>

using namespace std;
int main(){
    cout << "hello world" << endl;
    return 0;
}

위와 같이 코드가 실행되는지 확인하기 위한 cpp 코드를 입력하고

ctrl+alt+b 를 입력하여 save and compile for c++ 을 클릭하면

image 15

다음과 같이 실행된다.

이후 ctrl+alt+t 를 입력하면

image 18

위와 같이 execute 를 실행할 수 있는 창이 뜬다.

실행하면

image 19

위와 같이 코드가 실행되는 것을 확인 할 수 있다.


0 Comments

Leave a Reply