自分のマシンでExercismの演習を解くために、C++をローカルにインストールする方法を学びます。
C++のトラックでは、次のソフトウェアがシステムにインストールされている必要があります。
テストには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の値が確実に読み込まれるようにするためです。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をインストールできます。