mingw 와 visual code 연동하기 (C++ 개발 환경)
https://sourceforge.net/projects/mingw/files/
1) 위에 접속하여 일단 mingw-get-setup.exe 파일을 다운 로드 (아래 폴더 말고 위에 녹색 버튼)
2) 다운 받아서 Install
3) 설치할 파일들 다운로드 받고 나서 Continue 버튼 클릭
4) MinGW Installation Manager 에서 mingw-developer-toolkit, mingw32-base, mingw32-gcc-g++, msys-base 4개 선택
5) Installation -> apply changes 선택 -> apply
요기까지가 MinGW 설치 완료
그 다음으로는 path 설정
1) 제어판 -> 시스템 및 보안 -> 시스템 -> 고급 시스템 설정 -> 환경변수 의 '시스템 변수(S)' 에 'C:\minGW\bin' 맨 끝에 추가
확인
Window키+R ->cmd -> gcc -v 하면 gcc 버전이 나와야함
다음 Visual Code 에서 debug 에서
Tasks -> Run Build Task -> 처음엔 아무런 build task가 없음 -> tasks.json 만들기
tasks.json에 아래 내용을 넣고 저장
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "save and compile for C++",
"command": "g++",
"args": [
"${file}",
"-g",
"-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}",
"-g",
"-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",
"type": "shell",
"command": "cmd",
"group": {
"kind": "build",
"isDefault": true
},
"args": [
"/C",
"${fileDirname}\\${fileBasenameNoExtension}"
],
"problemMatcher": []
}
]
}
그리고 debug 를 위해서 launch.json은 아래와 같이
{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/test.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:/MinGW/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
으아아아아아아- 생각보다 할게 많다