Visual Studio Code에서 GCC/MinGW 기반 C, C++ 환경 설정하기
VSCode에서 C 언어 및 C++ 언어를 사용하기 위해 실행/디버깅 등이 가능한 환경을 구축하는 방법에 대해 알아봅니다.
📝 노트
여기서는 VSCode 설치를 완료한 상태라고 가정합니다. VSCode 설치 및 기본 세팅은 이 글을 참고하세요.
컴파일러/디버거 설치
VSCode는 C 언어용 컴파일러나 디버거를 자체적으로 내장하고있지 않습니다. 때문에 C 언어를 VSCode에서 사용하려면, 컴파일러와 디버거를 직접 설치하고 이를 연동해주는 작업이 필요합니다.
❌ 주의사항
Extension을 설치한다고 해서 컴파일러나 디버거가 설치되는 것은 아닙니다.
Windows를 이용하는 경우
Windows는 기본적으로 C 언어용 컴파일러나 디버거를 제공하지 않습니다. 따라서, 우리가 직접 설치해주어야 합니다.
이 글에서는 MinGW(Minimalist GNU for Windows)를 이용하도록 하겠습니다. MinGW는 chocolatey를 통해 쉽게 설치할 수 있습니다.
📝 노트
Chocolatey는 Windows용 패키지 관리자입니다. 아직 사용 방법을 모르신다면, 이 글을 참고하세요.
choco install mingw -y
❌ 주의사항
2022년 2월 7일 수정
mingw 버전이 업데이트 되어 아래의 문제가 해결되었습니다. 이제는 기존 글대로 최신버전을 설치하시면 됩니다.
2021년 6월 28일 수정
2021년 1월 12일에 chocolatey repo에 등록된 mingw-w64 10.2.0 버전에서 gdb.exe가 누락된 사항이 발견되었습니다.
현 시점에서는 Chocolatey로 MinGW를 설치 시 다음과 같이 입력하여 이전 버전인 8.1.0 버전으로 설치하시기를 권장합니다.
다음 명령어를 통해 설치가 잘 되었는지 확인해보세요.
gcc --version
gdb --version
📝 노트
Chocolatey 특성 상, 설치한 직후에는gcc
,gdb
명령어를 인식하지 못할 수 있습니다.
PowerShell을 껐다 켜거나,refreshenv
명령어를 활용하세요.
Linux를 이용하는 경우
대부분의 Linux 배포판은 gcc(GNU Compiler Collection)와 gdb(GNU Debugger)를 기본적으로 제공합니다.
터미널을 켜서 다음 명령어를 입력했을 때 버전 정보가 정상적으로 출력되면 설치되어 있는 것입니다.
gcc --version
gdb --version
만약 설치가 되어있지 않다면, 패키지 관리자인 apt
나 yum
을 이용하여 설치하시기를 권장합니다.
Extension 설치
이제 VSCode에서 extension을 설치할 차례입니다.
VSCode를 켜고 extension 탭으로 간 뒤 "c"를 검색하세요. 맨 위에 C/C++ extension이 뜰 것입니다. Install 버튼을 눌러 설치합니다.
테스트
이제 제대로 설치가 되었는지 확인할 시간입니다.
❌ 주의사항
경로에 한글이 있으면 제대로 동작하지 않습니다.
코드 작성
Explorer 탭으로 이동하여 적당한 경로에 main.cpp라는 새 파일을 만들어주고 다음과 같이 작성하도록 하겠습니다.
#include <iostream>
int main(int argc, char **)
{
std::cout << "Hello, World!" << std::endl;
std::cout << "argc: " << argc << std::endl;
}
실행
다음 그림과 같이 실행하시면 됩니다. 동일 폴더 내에 .vscode라는 폴더가 생기고, 그 안에 컴파일 옵션에 관한 설정이 적힌 .json
파일이 자동으로 생성될 것입니다.
이후 아래쪽의 TERMINAL 탭을 확인하시면, 우리가 작성한대로 두 줄이 화면에 출력되는 것을 확인할 수 있습니다.
📝 노트
C++이 아닌 C 언어로 작성하였다면, 세 번째 그림에서 g++.exe대신 gcc.exe를 선택하시면 됩니다.
아마 gcc.exe만 선택 가능하게끔 뜰 것입니다.
❌ 주의사항
실행을 하실 때, main.cpp가 활성화된 상태에서 실행하세요.
이 방법을 통해 자동으로 만들어진 launch.json 파일은 "활성화된 파일의 이름.exe"를 실행합니다.
예를들어 launch.json을 보면서 실행 버튼을 누르면, launch.exe를 찾아 실행하려고 하기 때문에 에러가 발생합니다.
디버깅
다음 그림과 같이 진행하여 디버깅도 가능합니다.
Command line argument 설정
실행하거나 디버깅할 때, command line argument를 넘겨주도록 설정하고 싶을 때가 있습니다.
이 부분은 아까 자동으로 만들어졌던 launch.json 파일의 args 값을 통해 설정합니다.
Author And Source
이 문제에 관하여(Visual Studio Code에서 GCC/MinGW 기반 C, C++ 환경 설정하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@evanote/Visual-Studio-Code에서-GCCMinGW-기반-C-C-환경-설정하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)