티스토리 뷰

반응형

 VScode는 C++컴파일러를 가지고 있지 않기 때문에 세팅을 해줘야 합니다. 이 포스팅에서는 GCC 컴파일러를 설치하고 VScode와 연동하는 방법에 대해서 설명하도록 하겠습니다. 본 포스팅은 윈도우 10 64비트를 기준으로 합니다.

|C/C++ 컴파일러 설치

 윈도우에서 GCC컴파일러를 이용하기 위해서 아래 링크에서 MinGW installer를 받습니다. 

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

설치하는 과정에서 64비트용으로 깔기 위해서 x86_64로 아키텍쳐(Architecture)를 변경해서 설치합니다.

설치를 완료했으면 윈도우에 환경 변수를 추가해줘야 합니다.


윈도우 검색창에서 '환경 변수'를 검색하고 '환경 변수'를 누릅니다.

사용자 변수와 시스템 변수 모두 동일한 방법으로 진행합니다. Path를 선택하고 편집버튼을 누른 후 , 새로 만들기를 입력하고 MinGW를 설치한 경로를 입력하면 됩니다. 필자와 동일한 방식으로 설치했다면

1
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
cs

해당 주소를 입력하면 됩니다.


정상적으로 작동하는지 확인하기 위해서는 CMD를 열어서 gcc --version 과 gdb --version을 쳤을때 제대로 출력되면 됩니다.


|VScode 설정하기

 VScode 확장 프로그램에서 C/C++ 확장프로그램을 설치한 후 종료했다가 다시 실행합니다.

재실행 후 Ctrl + Shift + P 를 눌러서 c/c++을 검색한 후 'C/C++: 구성편집(UI)'를 선택합니다.


컴파일러 경로에서 g++로 바꾼 후 앞뒤에 " " 로 감싸줍니다. 만약 자동완성이 되있지 않다면 직접 설치한 프로그램 경로를 입력하면 됩니다. 아래 IntelliSense 모드 에서는 gcc-X64 로 변경합니다.


|VScode에서 코드 컴파일 및 실행

 코딩할 폴더를 하나 만들고 VScode의 메뉴에서  '파일 > 폴더열기' 를 통해 해당 폴더를 추가한 후 새파일 만들기를 통해 Hello.c 파일을 만듭니다.

1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main()
{
    printf("Hello World!");
 
    return 0;
}
cs

위의 코드를 복사한 후 저장합니다.

다음으로 vscode의 메뉴에서 '터미널 > 작업 구성' 을 선택한 후 템플릿에서 'tasks.json파일 만들기'를 선택하고 'Others' 를 선택합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
  "version""2.0.0",
  "runner""terminal",
  "type""shell",
  "echoCommand"true,
  "presentation": { "reveal""always" },
  "tasks": [
    //C++ 컴파일
    {
      "label""save and compile for C++",
      "command""g++",
      "args": [
        "${file}",
        "-g",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "group""build",
 
      //컴파일시 에러를 편집기에 반영
      //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
 
      "problemMatcher": {
        "fileLocation": ["relative""${workspaceRoot}"],
        "pattern": {
          // The regular expression.
          //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
          "regexp""^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
          "file"1,
          "line"2,
          "column"3,
          "severity"4,
          "message"5
        }
      }
    },
    //C 컴파일
    {
      "label""save and compile for C",
      "command""gcc",
      "args": [
        "${file}",
        "-g",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "group""build",
 
      //컴파일시 에러를 편집기에 반영
      //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
 
      "problemMatcher": {
        "fileLocation": ["relative""${workspaceRoot}"],
        "pattern": {
          // The regular expression.
          //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
          "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}"]
    }
  ]
}
 
cs

열린 task.json 파일을 해당 소스로 변경합니다. Ctrl + S 로 저장합니다.


 다음으로 단축키를 설정해 줍니다. 파일 > 기본설정 > 바로 가기 키 를 선택합니다. (또는 Ctrl + k , Ctrl + S 를 순서대로 누릅니다)

열린 화면에서 위 사진 속 빨간 네모친 부분을 선택합니다. 

1
2
3
4
5
6
7
8
9
10
11
12
[
    //컴파일
    {
        "key": "ctrl+alt+c",
        "command": "workbench.action.tasks.build"
    },
    //실행
    {
        "key": "ctrl+alt+v",
        "command": "workbench.action.tasks.test"
    }
]
cs

해당 소스를 복사합니다. 만약 컴파일과 실행시 다른 단축키를 사용하고 싶다면 원하는 키조합으로 변경하면 됩니다.

이제 Ctrl + Alt + C 를 누르면 C또는 C++로 컴파일 할 수 있는 창이 나오고 (save and compile for C/C++) 컴파일 한 후 Ctrl + Alt + V 를 누르고 excute를 선택하게 되면 터미널에 실행 결과가 보여지게 됩니다.


디버깅 설정 : https://lucycle.tistory.com/331

Code Runner로 실행하기 : 


출처/참고



광고


반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함