로컬에 C++ 설치하기

내 컴퓨터에서 Exercism의 연습 문제를 풀 수 있도록 C++를 로컬에 설치하는 방법을 알아봐요


사전 준비 사항

C++ 언어 트랙을 사용하려면 시스템에 다음 소프트웨어가 설치되어 있어야 해요:

  • 최신 C++14 컴파일러
  • 크로스 플랫폼 빌드 시스템인 CMake

테스트에는 Catch2를 사용해요. Catch2는 헤더만으로 구성된 라이브러리로, 연습 문제와 함께 제공돼요.

이런 의존성 조합은 C++ 프로젝트에서 아주 흔하기 때문에, 설정하다가 문제가 생기면 도움이 되는 자료를 온라인에서 많이 찾을 수 있어요.

Microsoft의 Visual Studio, Apple의 Xcode, JetBrains의 CLion을 비롯한 많은 IDE는 컴파일러와 CMake를 함께 제공하므로, IDE만 설치하면 돼요.

최신 C++14 컴파일러

이 언어 트랙에는 2014년에 발표된 C++14를 지원하는 컴파일러가 필요해요. 최근 몇 년 사이에 나온 주요 컴파일러는 모두 호환되므로, 비교적 최근 버전을 사용하고 있다면 문제없어요. 구체적으로는 GCC 7 이상, Clang 6 이상, Visual Studio 2017 이상이에요.

CMake

CMake는 사용하는 네이티브 빌드 시스템(make, Visual Studio, Xcode 등)을 위한 빌드 스크립트를 생성해 주는 오픈 소스 크로스 플랫폼 빌드 시스템이에요. Exercism의 C++ 트랙은 CMake를 사용해서 바로 쓸 수 있는 빌드 환경을 제공해요. 이 빌드는 다음과 같은 일을 해요:

  • 테스트를 컴파일해요
  • 풀이를 컴파일해요
  • 테스트 실행 파일을 링크해요
  • 빌드할 때마다 자동으로 테스트를 실행해요
  • 테스트가 하나라도 실패하면 빌드도 실패해요

CMake를 사용하면 Exercism이 Visual Studio나 Xcode 같은 통합 개발 환경용 프로젝트 파일을 만들 수 있는 크로스 플랫폼 빌드 스크립트를 제공할 수 있어요. 덕분에 연습 문제마다 빌드 환경을 설정할 걱정 없이 문제 해결에 집중할 수 있어요.

이식성 있는 빌드를 만드는 일은 쉽지 않고, 다양한 종류의 시스템에 접근해야 해요. 제공된 CMake 레시피에 문제가 있다면 이슈를 알려 주세요. 그러면 CMake 지원을 개선할 수 있어요.

제공된 빌드 레시피를 사용하려면 CMake 3.5.1 이상이 필요해요.

Windows

Windows 사용자는 무료로 내려받을 수 있는 Visual Studio Community를 설치하면 Visual Studio IDE와 최신 Microsoft Visual C++ 컴파일러를 사용할 수 있어요.

  1. 여기 있는 안내를 따라 CMake를 설정해요.
  2. exercism cli 도구로 연습 문제를 내려받아요.
  3. Visual Studio 2017 이상을 열어요(위 링크에 설명된 대로 CMake용 Visual C++ 도구가 설치되어 있어야 해요).
  4. VS에서 연습 문제 폴더를 열어요.
  5. "Build->Build the solution"을 실행해요. 빌드와 함께 테스트가 실행되고, 출력은 빌드 창에 표시돼요. 테스트가 빌드 중에 실행되므로, 테스트가 하나라도 실패하면 VS는 빌드 실패라고 표시하고 테스트 실패 메시지는 빌드 출력 창에 나타나요.

JetBrains의 CLion 같은 다른 통합 IDE도 비슷한 방식으로 사용할 수 있어요.

Windows에서 Boost 설치하기

meetup과 gigasecond 연습 문제는 Boost 라이브러리에 의존해요. 다음 단계에서는 이를 설정하는 방법을 설명해요.

  1. Boost용 미리 빌드된 Windows 라이브러리를 내려받아요.
    • 연습 문제에는 Boost 1.58 이상이 필요해요.
    • Visual Studio Installer에서 "Modify"를 클릭하면 MSVC 버전을 확인할 수 있어요.
  2. 라이브러리를 로컬 폴더에 압축 해제해요.
  3. BOOST_ROOT 환경 변수를 Boost 라이브러리를 설치한 폴더로 설정해요.
  4. 이 작업을 하는 동안 Visual Studio를 열어 두었다면, BOOST_ROOT 값이 반영되도록 Visual Studio를 닫아요.
  5. Visual Studio를 실행하고 gigasecond 또는 meetup 연습 문제가 들어 있는 폴더를 열어요.
  6. "Startup Item"이 gigasecond.exe 또는 meetup.exe로 설정되어야 하고, 다른 연습 문제들처럼 구현하지 않은 항목을 구현하라고 알려 주는 빌드 오류가 gigasecond_test.cpp나 meetup_test.cpp에 나타날 거예요.

Linux

최근에 나온 Linux 배포판에는 모두 호환되는 C++14 컴파일러가 있으므로, 패키지 관리자로 설치할 수 있어요. 저희가 지원하는 버전은 Ubuntu LTS 18.04에 기본으로 설치된 버전이에요.

예를 들어 Ubuntu에서는 다음 명령어로 gcc를 설치해요.

$ sudo apt-get install gcc
$ gcc --version

오래된 배포판을 사용 중이라면 C++14를 지원하는 컴파일러가 없을 수도 있어요. 그런 경우에는 사용하는 배포판에서 최소 요구 버전의 컴파일러를 어떻게 설치하는지 알아봐야 해요.

MacOS

MacOS 사용자는 Homebrew로 brew install gcc를 실행해서 GCC를 설치할 수 있어요.