Skip to main content

Visual Studio Code에서 CMake 환경 설정하기

· 4 min read

VSCode에서 CMake 기반의 C/C++ 프로젝트를 만들고, 실행/디버깅 등이 가능한 환경을 구축하는 방법에 대해 알아봅니다.

featured

info

여기서는 VSCode 설치를 완료한 상태라고 가정합니다. VSCode 설치 및 기본 세팅은 이 글을 참고하세요.


C/C++ 컴파일러 및 디버거, CMake 설치​

VSCode는 C/C++ 언어용 컴파일러, 디버거, CMake를 자체적으로 내장하고 있지 않습니다. VSCode에서는 설치된 프로그램을 호출해서 사용할 뿐입니다.

때문에 우리가 직접 해당 프로그램을 설치해주어야 합니다.

Windows​

어떤 것을 사용해도 상관은 없지만, 개인적으로 Windows 환경에서는 Microsoft에서 Visual Studio 빌드 도구를 통해 제공하는 MSVC를 추천합니다.

  1. Microsoft에서 제공하는 Visual Studio 빌드 도구는 이 링크에서 무료로 받을 수 있습니다.

    스크롤을 쭉 내려서 Visual Studio 2022용 도구 목록 하위에 있는 Visual Studio 2022용 빌드 도구의 다운로드 링크를 누르면 됩니다.

    01_vs2022buildtools_download

  2. 다운받은 파일(vs_BuildTools.exe)을 실행합니다. 다음 그림과 같은 창이 뜰 수 있습니다. 계속 버튼을 누르고 잠시 기다려줍니다.

    02_vs2022buildtools_install

  3. 다운로드를 마치고 설치 준비가 다 되면, 다음 그림과 같은 창이 뜰 것입니다. 이 중 C++를 사용한 데스크톱 개발을 클릭합니다. 오른쪽 설치 세부 정보에서, 자동으로 선택사항 중 일부가 선택될 것입니다. 혹시라도 Windows용 C++ CMake 도구가 선택이 안되어있다면, 꼭 선택해주시기 바랍니다. 선택을 완료하셨다면 Install 버튼을 눌러 설치를 진행하시면 됩니다.

    03_vs2022buildtools_install

  4. 설치가 완료되었다면, 잘 실행되는지 테스트를 해보겠습니다.

    1. WIN+S 를 눌러 검색을 띄움

    2. "developer powershell"을 입력하여 Developer PowerShell for VS 2022를 찾은 뒤 실행

      04_vs2022buildtools_test1

    3. cl 명령어와 cmake 명령어를 각각 입력하여, 다음 그림과 같이 각각의 사용법(usage)이 뜨는지 확인

      05_vs2022buildtools_test2

Linux​

대부분의 Linux 배포판은 C/C++ 컴파일러인 gcc1와 C/C++ 디버거인 gdb2를 기본적으로 제공합니다.

CMake는 없는 배포판도 많습니다만 일단 버전을 띄워 확인해봅니다.

터미널을 켜서 다음 명령어를 입력했을 때 버전 정보가 정상적으로 출력되면 설치되어 있는 것입니다.

gcc --version
gdb --version

gccgdb_version_linux

cmake --version

cmake_version_linux

만약 설치가 되어있지 않다면, apt(apt-get)나 yum과 같은 패키지매니저를 이용하여 쉽게 설치할 수 있습니다.

예를 들어 apt를 이용하여 설치한다면 다음 명령어를 입력합니다.

sudo apt install build-essential -y
sudo apt install cmake -y

Extension 설치​

이제 VSCode에서 extension을 설치할 차례입니다.

VSCode를 켜고 extension 탭으로 간 뒤 c를 검색하세요. 약 세 번째 정도에 C/C++ Extension Pack이 뜰 것입니다. 이것을 설치해줍니다.

extension_cmake

C/C++ Extension Pack은 다음의 세 가지가 포함되어 있습니다.

  • C/C++: C/C++ 언어 작성에 도움. 자동완성 등 제공
  • CMake Tools: CMake 명령어에 대한 자동완성 제공. CMakeLists.txt 파일 작성에 도움
  • C/C++ Themes: C/C++ 코드 파일에 대한 적절한 UI 테마 제공

테스트​

이제 제대로 설치가 되었는지 확인할 시간입니다.

warning

경로에 한글이 있으면 제대로 동작하지 않습니다. 한글이 포함되지 않도록 주의하세요.

Hello world 프로젝트 만들어보기​

CMake Tools는 CMake: Quick Start라는 기능을 제공합니다. 손쉽게 CMake 기반의 Hello world 프로젝트를 만들어주는 것이죠.

적당한 경로에 빈 폴더를 만들어주고 다음과 같이 진행합니다.

Windows

cqs1

cqs2

cqs_windows

cqs3

cqs4

cqs5

Linux

cqs1

cqs2

cqs_linux

cqs3

cqs4

cqs5

실행​

다음 그림과 같이 하단 바에 있는 재생버튼을 누르면 프로젝트를 실행할 수 있습니다.

실행해보면 VSCode에서 자동으로 build라는 폴더를 만든 뒤 그 안에 컴파일 결과물과 더불어 CMake를 통한 빌드 부산물을 저장합니다.

이후 아래쪽의 TERMINAL 탭을 확인하시면, 자동 생성된 main.cpp의 내용대로 Hello, world!가 출력되는 것을 확인할 수 있습니다.

run1

run2

디버깅​

다음 그림과 같이 진행하여 디버깅도 가능합니다.

debug1

debug2

Command line argument 설정​

실행하거나 디버깅할 때, command line argument를 넘겨주도록 설정하고 싶을 때가 있습니다.

이를 위해서는 File - Preferences - Settings (단축키: CTRL+,)에서 Workspace - cmake.debugConfig 항목을 통해 .vscode/settings.json 파일을 생성하여 입력해야 합니다.

arg1

arg2

arg3

arg4


Reference​

https://chocolatey.org/packages/cmake

https://vector-of-bool.github.io/docs/vscode-cmake-tools/

https://code.visualstudio.com/docs/getstarted/settings

Footnotes​

  1. GNU Compiler Collection. 혹은 그 중 하나인 GNU C Compiler. C 언어 컴파일러의 일종. ↩

  2. GNU Debugger. C 언어 디버거의 일종. ↩