내 컴퓨터에서 Exercism의 연습 문제를 풀 수 있도록 C++를 로컬에 설치하는 방법을 알아봐요
C++ 언어 트랙을 사용하려면 시스템에 다음 소프트웨어가 설치되어 있어야 해요:
테스트에는 Catch2를 사용해요. Catch2는 헤더만으로 구성된 라이브러리로, 연습 문제와 함께 제공돼요.
이런 의존성 조합은 C++ 프로젝트에서 아주 흔하기 때문에, 설정하다가 문제가 생기면 도움이 되는 자료를 온라인에서 많이 찾을 수 있어요.
Microsoft의 Visual Studio, Apple의 Xcode, JetBrains의 CLion을 비롯한 많은 IDE는 컴파일러와 CMake를 함께 제공하므로, IDE만 설치하면 돼요.
이 언어 트랙에는 2014년에 발표된 C++14를 지원하는 컴파일러가 필요해요. 최근 몇 년 사이에 나온 주요 컴파일러는 모두 호환되므로, 비교적 최근 버전을 사용하고 있다면 문제없어요. 구체적으로는 GCC 7 이상, Clang 6 이상, Visual Studio 2017 이상이에요.
CMake는 사용하는 네이티브 빌드 시스템(make, Visual Studio, Xcode 등)을 위한 빌드 스크립트를 생성해 주는 오픈 소스 크로스 플랫폼 빌드 시스템이에요. Exercism의 C++ 트랙은 CMake를 사용해서 바로 쓸 수 있는 빌드 환경을 제공해요. 이 빌드는 다음과 같은 일을 해요:
CMake를 사용하면 Exercism이 Visual Studio나 Xcode 같은 통합 개발 환경용 프로젝트 파일을 만들 수 있는 크로스 플랫폼 빌드 스크립트를 제공할 수 있어요. 덕분에 연습 문제마다 빌드 환경을 설정할 걱정 없이 문제 해결에 집중할 수 있어요.
이식성 있는 빌드를 만드는 일은 쉽지 않고, 다양한 종류의 시스템에 접근해야 해요. 제공된 CMake 레시피에 문제가 있다면 이슈를 알려 주세요. 그러면 CMake 지원을 개선할 수 있어요.
제공된 빌드 레시피를 사용하려면 CMake 3.5.1 이상이 필요해요.
Windows 사용자는 무료로 내려받을 수 있는 Visual Studio Community를 설치하면 Visual Studio IDE와 최신 Microsoft Visual C++ 컴파일러를 사용할 수 있어요.
JetBrains의 CLion 같은 다른 통합 IDE도 비슷한 방식으로 사용할 수 있어요.
meetup과 gigasecond 연습 문제는 Boost 라이브러리에 의존해요. 다음 단계에서는 이를 설정하는 방법을 설명해요.
BOOST_ROOT 환경 변수를 Boost 라이브러리를 설치한 폴더로 설정해요.BOOST_ROOT 값이 반영되도록 Visual Studio를 닫아요.gigasecond 또는 meetup 연습 문제가 들어 있는 폴더를 열어요.gigasecond.exe 또는 meetup.exe로 설정되어야 하고, 다른 연습 문제들처럼 구현하지 않은 항목을 구현하라고 알려 주는 빌드 오류가 gigasecond_test.cpp나 meetup_test.cpp에 나타날 거예요.최근에 나온 Linux 배포판에는 모두 호환되는 C++14 컴파일러가 있으므로, 패키지 관리자로 설치할 수 있어요. 저희가 지원하는 버전은 Ubuntu LTS 18.04에 기본으로 설치된 버전이에요.
예를 들어 Ubuntu에서는 다음 명령어로 gcc를 설치해요.
$ sudo apt-get install gcc
$ gcc --version
오래된 배포판을 사용 중이라면 C++14를 지원하는 컴파일러가 없을 수도 있어요. 그런 경우에는 사용하는 배포판에서 최소 요구 버전의 컴파일러를 어떻게 설치하는지 알아봐야 해요.
MacOS 사용자는 Homebrew로 brew install gcc를 실행해서 GCC를 설치할 수 있어요.