C++ 開発環境の設定

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

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

目標

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

C++ のインストール

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

macOS

  1. C++ コンパイラを取得するには、Xcode のコマンドライン ツールをインストールします。

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

    c++ --version
    

Windows

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

  2. C++ コンパイラにアクセスするには、Visual Studio のスタートガイドの C++ セクションに従ってください。

Linux

ほとんどの(すべてではない)Linux ディストリビューションには、プライマリ C++ コンパイラとして GCC が含まれています。多くの 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、その他のサービスにアクセスするために使用される gcloudgsutilbq といったコマンドライン ツールが含まれます。これらのツールはインタラクティブに実行することも、自動スクリプトで実行することもできます。

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

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

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

vcpkg の CMake

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

    {
        "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 = "63f009092afd900cb812050bcecf607e37d762ac911e0bcbf4af9a432da91890",
        strip_prefix = "google-cloud-cpp-2.19.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.19.0.tar.gz",
    )
  2. WORKSPACE ファイルで Starlark 関数を呼び出して、再帰依存関係を読み込みます。

    load("@google_cloud_cpp//bazel:google_cloud_cpp_deps.bzl", "google_cloud_cpp_deps")
    
    google_cloud_cpp_deps()
    
    load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
    
    switched_rules_by_language(
        name = "com_google_googleapis_imports",
        cc = True,
        grpc = True,
    )
    
    load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
    
    grpc_deps()
    
    load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
    
    grpc_extra_deps()
  3. BUILD ファイルで、Cloud Storage ライブラリを使用します。

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

認証の設定

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

Google アカウントのローカル認証情報を作成します。

gcloud auth application-default login

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

次のステップ