나는 작년 겨울 더이상 고성능 작업(안드로이드 개발, 유니티...)을 버티지 못하는 레노버 노트북을 견디지 못하고 결국 맥북 에어 M1을 구입했었다.
그 당시에는 C/C++을 거의 사용하지 않았고 백준에서 간간히 문제를 풀때는 온라인 코딩 사이트를 사용했었기에 신경쓰지 않았으나 이번 여름방학때 C++을 본격적으로 공부하고자 다짐했더니 문제가 발생했다.
윈도우 환경에서는 Visual Studio에서 편하게 C/C++ 작업을 할 수 있게 지원해주지만 맥에서의 Visual Studio는 윈도우 버전과 전혀 달라 그런 환경을 지원해주지 않았다.
그렇다고 맥의 기본 소프트웨어인 Xcode를 그다지 사용하고 싶진 않았고... 그래서 방법을 찾다가 VScode에서 실행할 수 있다는 정보를 보고 C/C++ 개발환경을 맥에서도 구축할 수 있었다.
관련된 정보들이 산재되어있어서 찾기 어려웠기에 추후에 다시 필요한일이 발생할 때 찾아볼 수 있도록 기록한다.
맥에서 VScode를 설치했다면, 각종 확장 기능을 제공해주는 Extensions 탭으로 이동한다.
설치해야할 Extension은 총 3가지이다.
아래에서 빨간색 상자로 표시한 Extension들을 모두 Install 해준다.
설치를 완료했다면 Code Runner에서 편하게 C/C++을 실행할 수 있도록 설정해준다.
아래 절차를 따라 설정에 들어간다. (톱니바퀴 - Extension Settings)
"code-runner.executorMap": {
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ -std=c++14 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
C/C++ 말고 다른언어도 CodeRunner로 실행할 수 있게 하려면 다른언어에 대한 명령어를 "code-runner.executorMap"
에 더 추가해준다.
{
"code-runner.executorMap": {
"javascript": "node",
"php": "C:\\php\\php.exe",
"python": "python",
"perl": "perl",
"ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
"go": "go run",
"html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt"
}
}
위의 설정을 마친뒤 .c
, .cpp
파일에서 실행버튼을 누르거나 Run Code를 실행하면 C/C++ 파일이 잘 실행되는 것을 확인할 수 있다.
위에서 진행한 과정은 C/C++ 파일을 실행할 수 있게해주지 디버깅을 지원해주지는 않는다. 따라서 지금부터는 디버깅을 할 수 있도록 세팅을 진행할 것이다.
다만, 디버깅을 하기위해서는 code runner의 실행파일이 필요하기 때문에 최소 한번은 코드를 실행시켜줘야한다.
.c
, .cpp
파일에서 톱니바퀴 버튼을 누르거나 디버깅 단축기를 누르면 디버그 구성을 선택할 수 있는 창이 뜬다. launch.json
파일이 생성될 것인데, 파일 그대로 저장하고 다시 디버그 구성 창을 띄우고 다시 g++ build and debug active file을 선택한다.tasks.json
파일이 생성되는데, 최신버전도 지원해주기 위해서 "args"
key의 "-g"
아래에 "-std=c++14"
를 추가하고 저장한다.{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"-std=c++14",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
위 과정을 잘 따라왔다면, 이제 정상적으로 VScode에서 디버깅을 할 수 있을 것이다.
참고한 글
하 ㅠ 진짜 다른 글로 했다가 디버깅 안되서 시간 버리다 이 글로 해결봤습니다. 제 시간을 애껴주셔서 감사합니다