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

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

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


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는 없는 배포판도 많습니다만 일단 버전을 띄워 확인해봅니다.

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

1gcc --version
2gdb --version

gccgdb_version_linux

1cmake --version

cmake_version_linux

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

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

1sudo apt install build-essential -y
2sudo 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 테마 제공

테스트

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

Hello world 프로젝트 만들어보기

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

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

cqs1

cqs2

cqs_windows

cqs3

cqs4

cqs5

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


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

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