IT

mingw 와 visual code 연동하기 (C++ 개발 환경)

경송 2018. 9. 5. 17:13

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

                }

            ]

        }

    ]

}



으아아아아아아- 생각보다 할게 많다