C++ 開発環境の設定

このチュートリアルでは、 C++ 開発用のローカルマシンを準備する方法を説明します。これには、 Google Cloudで動作する C++ アプリの開発が含まれます。

開発環境がすでに設定されている場合は、 C++ と Google Cloud を参照して、 Google Cloudで C++ アプリを実行する方法の概要を確認してください。

目標

  • Google Cloud と互換性のあるサポート対象バージョンの C++ をインストールする。
  • C++ ビルドシステムをインストールする。
  • エディタのインストール(省略可)
  • Google Cloud CLI をインストールします(省略可)。
  • C++ 用の Cloud クライアント ライブラリをインストールします(省略可)。
  • 認証を設定します。

C++ をインストールする

C++ のインストール手順は、オペレーティング システムによって異なります。開発環境で実行しているオペレーティング システム(macOS、Windows、Linux)のガイドに従ってください。

macOS

  1. Xcode のコマンドライン ツールをインストールすると、C++ コンパイラを入手できます。

    xcode-select --install
    
  2. インストールが完了したら、コンパイラが c++として使用できることを確認します。

    c++ --version
    

Windows

  1. Windows 環境に C++ コンパイラをインストールするには、 Visual Studio ウェブサイトから Microsoft's "Visual Studio"をダウンロードします。 これにより、エディタ、デバッガ、ビルドシステムを含む完全な IDE がダウンロードされます。

  2. C++ コンパイラにアクセスするには、Visual Studio の スタートガイド の C++ セクションの手順に沿って操作します。

Linux

ほとんどの(すべてではない)Linux ディストリビューションには、GCC プライマリ C++ コンパイラとして含まれています。多くの Linux ディストリビューションには、代替の C++ コンパイラとして CLang も含まれています。C++ クライアント ライブラリは両方をサポートしています。

  1. C++ を Linux 環境にインストールするには、ご使用のディストリビューションに適したパッケージをインストールしてください。Debian と Ubuntu の場合、このパッケージは g++ です。

    次のコマンドを使用してこれらのパッケージをインストールします。

    sudo apt update
    sudo apt install g++
    
  2. インストールが完了したら、g++ がインストールされていることを確認します。

    g++ --version
    

Google Cloud と互換性のある C++ ビルドシステムをインストールする

C++ を効果的に使用するには、C++ 用 Cloud クライアント ライブラリを サポートするビルドシステムとパッケージ マネージャーが必要です。クライアント ライブラリは、このようなビルドシステムとパッケージ マネージャーを複数 サポートしています。

vcpkg の CMake

  1. オペレーティング システムには、 CMake がインストールされているパッケージが用意されています。インストールされていない場合は、 CMake ダウンロード ページからインストールしてください。

  2. vcpkg をインストールするには、vcpkg のスタートガイドをご覧ください。

Conda の CMake

  1. オペレーティング システムには、 CMake がインストールされているパッケージが用意されています。インストールされていない場合は、 CMake ダウンロード ページからインストールしてください。

  2. Conda をインストールするには、Conda のユーザーガイドの インストール セクション をご覧ください。

Bazel

  1. Bazel をインストールするには、Bazel のインストールをご覧ください。

その他

別のビルドシステムまたはパッケージ マネージャーを使用する必要がある場合は、C++ クライアント ライブラリ リポジトリにソースからビルドする手順が記載されています。

エディタのインストール

C++ をサポートする エディタと IDE は 多数あります。ニーズに合うものを選択してください。選択する際は、次の機能を考慮してください。

  • 完全に統合されたデバッグ機能
  • 構文のハイライト表示
  • コード補完

Google Cloud CLI をインストールする

Google Cloud CLI は、のための一連のツールです Google Cloud. これには、コマンドラインから Compute Engine、Cloud Storage、 BigQuery、その他のサービスにアクセスするために使用される gcloud and bq といったコマンドライン ツールが含まれます。これらのツールはインタラクティブに実行することも、自動スクリプトで実行することもできます。

C++ 用 Cloud クライアント ライブラリをインストールする

C++ 用 Cloud クライアント ライブラリは、C++ デベロッパーが Google Cloud Spanner や Cloud Storage などのサービスと統合するための慣用的な方法です。

たとえば、Cloud Storage API などの個々の API のパッケージをインストールするには、次のようにします。

vcpkg の CMake

  1. google-cloud-cpp を依存関係として vcpkg.json ファイルに追加します。

    {
        "name": "setup-cpp-vcpkg",
        "version-string": "unversioned",
        "description": "Setting up C++ for Google Cloud with CMake and vcpkg",
        "dependencies": [
            {"name": "google-cloud-cpp", "default-features": false, "features": ["storage"]}
        ]
    }
    
  2. ライブラリを必要とするように CMakeLists.txt ファイルを編集します。

    find_package(google_cloud_cpp_storage REQUIRED)
  3. この依存関係をターゲットに追加します。

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. vcpkg ツールチェーンを使用して CMake を構成します。これにより、google-cloud-cpp とその依存関係が自動的にダウンロードされ、コンパイルされます。

    cmake -S . -B [build directory] \
        -DCMAKE_TOOLCHAIN_FILE=[vcpkg location]/scripts/buildsystems/vcpkg.cmake
    

Conda の CMake

  1. Conda を使用して依存関係をインストールします。

    conda config --add channels conda-forge
    conda config --set channel_priority strict
    conda install -y -c conda-forge cmake ninja cxx-compiler google-cloud-cpp libgoogle-cloud
  2. ライブラリを必要とするように CMakeLists.txt ファイルを編集します。

    find_package(google_cloud_cpp_storage REQUIRED)
  3. この依存関係をターゲットに追加します。

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Conda 環境内で CMake を構成します。

    cmake -S . -B [build directory]
    

Bazel

  1. WORKSPACE ファイルに次のコマンドを追加して、C++ 用 Cloud クライアント ライブラリのソースコードをダウンロードします。

    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
    
    http_archive(
        name = "google_cloud_cpp",
        sha256 = "db69dd73ef4af8b2e816d80ded04950036d0e0dccc274f8c3d3ed1d7f5692a1b",
        strip_prefix = "google-cloud-cpp-2.32.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.32.0.tar.gz",
    )
  2. WORKSPACE ファイルで Starlark 関数を呼び出して、再帰的な依存関係を読み込みます。

    load("@google_cloud_cpp//bazel:workspace0.bzl", "gl_cpp_workspace0")
    
    gl_cpp_workspace0()
    
    load("@google_cloud_cpp//bazel:workspace1.bzl", "gl_cpp_workspace1")
    
    gl_cpp_workspace1()
    
    load("@google_cloud_cpp//bazel:workspace2.bzl", "gl_cpp_workspace2")
    
    gl_cpp_workspace2()
    
    load("@google_cloud_cpp//bazel:workspace3.bzl", "gl_cpp_workspace3")
    
    gl_cpp_workspace3()
    
    load("@google_cloud_cpp//bazel:workspace4.bzl", "gl_cpp_workspace4")
    
    gl_cpp_workspace4()
    
    load("@google_cloud_cpp//bazel:workspace5.bzl", "gl_cpp_workspace5")
    
    gl_cpp_workspace5()
  3. BUILD ファイルで Cloud Storage ライブラリを使用します。

    cc_binary(
        name = "hello_world",
        srcs = ["hello_world.cc"],
        deps = ["@google_cloud_cpp//:storage"],
    )

認証を設定します。

ローカル開発環境で Cloud クライアント ライブラリを使用するには、アプリケーションのデフォルト認証情報を設定します。

ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。

gcloud auth application-default login

Cloud Shell を使用している場合は、この操作を行う必要はありません。

認証エラーが返され、外部 ID プロバイダ (IdP)を使用している場合は、 フェデレーション ID を使用して gcloud CLI にログインしていることを確認します

詳細については、 クライアント ライブラリを使用して認証するをご覧ください。

次のステップ