在本機安裝 C++

了解如何在本機安裝 C++,以便在自己的電腦上解 Exercism 的練習。


先決條件

C++ 語言軌道要求你的系統必須安裝下列軟體:

  • 現代化的 C++14 編譯器
  • 跨平台的 CMake 建置系統

我們使用 Catch2 來進行測試,它是一個僅含標頭檔的函式庫,會隨練習一併提供。

這組相依項目在 C++ 專案中非常常見,所以如果你在設定時遇到任何問題,網路上有很多實用的資源可以參考。

許多 IDE,包括 Microsoft 的 Visual Studio、Apple 的 Xcode 以及 JetBrains 的 CLion,都同時內建了編譯器和 CMake,所以你可能只需要安裝 IDE 就好。

現代化的 C++14 編譯器

這個語言軌道需要支援 C++14 的編譯器,C++14 是在 2014 年發布的。這幾年發布的主要編譯器應該都相容,所以只要你的版本不會太舊就沒問題。具體來說,需要 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 就會顯示建置失敗,而測試失敗的訊息會出現在建置輸出視窗中。

其他整合式 IDE,例如 JetBrains 的 CLion,應該也可以用類似的方式操作。

在 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 的值能被讀取到。
  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 安裝 GCC,指令是 brew install gcc。