Configurer un environnement de développement C++

Ce tutoriel explique comment préparer votre ordinateur local pour le C++ développement, y compris le développement d'applications C++ exécutées sur Google Cloud.

Si vous avez déjà configuré un environnement de développement, consultez la section C++ et Google Cloud pour avoir un aperçu de la procédure d'exécution d'applications C++ sur Google Cloud.

Objectifs

  • Installer une version de C++ prise en charge compatible avec Google Cloud.
  • Installer un système de compilation C++.
  • Installer un éditeur (facultatif)
  • Installer Google Cloud CLI (facultatif)
  • Installer les bibliothèques clientes Cloud pour C++ (facultatif)
  • Configurer l'authentification.

Installer C++

Les instructions d'installation de C++ varient en fonction du système d'exploitation. Suivez le guide du système d'exploitation utilisé dans votre environnement de développement, macOS, Windows ou Linux.

macOS

  1. Vous pouvez obtenir un compilateur C++ en installant les outils de ligne de commande Xcode.

    xcode-select --install
    
  2. Une fois l'installation terminée, vérifiez que votre compilateur est disponible en tant que c++ :

    c++ --version
    

Windows

  1. Pour installer un compilateur C++ dans un environnement Windows, téléchargez le "Visual Studio" de Microsoft sur le site Web de Visual Studio. Vous téléchargerez ainsi un IDE complet, comprenant un éditeur, un débogueur et des systèmes de compilation.

  2. Pour accéder à votre compilateur C++, suivez la section C++ du guide de démarrage de Visual Studio.

Linux

La plupart des distributions Linux (voire toutes) incluent GCC comme compilateur C++ principal. De nombreuses distributions Linux incluent également CLang comme compilateur C++ alternatif. Les bibliothèques clientes C++ sont compatibles avec les deux.

  1. Pour installer C++ dans un environnement Linux, installez les packages appropriés pour votre distribution. Pour Debian et Ubuntu, ce package est g++.

    Installez ces paquets en utilisant les commandes suivantes :

    sudo apt update
    sudo apt install g++
    
  2. Une fois les installations terminées, vérifiez que g++ est installé :

    g++ --version
    

Installer un système de compilation C++ compatible avec Google Cloud

Pour utiliser C++ efficacement, vous aurez besoin d'un système de compilation et d'un gestionnaire de packages compatibles avec les bibliothèques clientes Cloud pour C++. Les bibliothèques clientes sont compatibles avec plusieurs systèmes de compilation et gestionnaires de packages de ce type.

CMake avec vcpkg

  1. Votre système d'exploitation peut fournir des packages pour CMake installé. Si ce n'est pas le cas, installez-le à partir de la page de téléchargement de CMake.

  2. Pour installer vcpkg, consultez la section Premiers pas avec vcpkg.

CMake avec Conda

  1. Votre système d'exploitation peut fournir des packages pour CMake installé. Si ce n'est pas le cas, installez-le à partir de la page de téléchargement de CMake.

  2. Pour installer Conda, consultez la section Installation du guide de l'utilisateur de Conda.

Bazel

  1. Pour installer Bazel, consultez la section Installer Bazel.

Autre

Si vous devez utiliser un autre système de compilation ou gestionnaire de packages, le dépôt des bibliothèques clientes C++ inclut des instructions pour compiler à partir de la source.

Installer un éditeur

Il existe de nombreux éditeurs et IDE compatibles avec C++. Choisissez celui qui répond à vos besoins. Tenez compte des fonctionnalités suivantes lors de votre sélection :

  • Outils de débogage entièrement intégrés
  • Coloration syntaxique
  • Complétion de code

Installer Google Cloud CLI

Le Google Cloud CLI est un ensemble d'outils pour Google Cloud. Il contient les gcloud et bq outils de ligne de commande utilisés pour accéder à Compute Engine, Cloud Storage, BigQuery et à d'autres services à partir de la ligne de commande. Exécutez ces outils de façon interactive ou dans des scripts automatisés.

Installer les bibliothèques clientes Cloud pour C++

Les bibliothèques clientes Cloud pour C++ sont le moyen idiomatique pour les développeurs C++ d'intégrer des Google Cloud services tels que Spanner et Cloud Storage.

Par exemple, pour installer le package d'une API spécifique, telle que l'API Cloud Storage, procédez comme suit :

CMake avec vcpkg

  1. Ajoutez google-cloud-cpp en tant que dépendance à votre fichier 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. Modifiez votre fichier CMakeLists.txt pour exiger la bibliothèque.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Ajoutez cette dépendance à vos cibles.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configurez CMake à l'aide de la chaîne d'outils vcpkg. Cela téléchargera et compilera automatiquement google-cloud-cpp et ses dépendances.

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

CMake avec Conda

  1. Installez les dépendances à l'aide de 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. Modifiez votre fichier CMakeLists.txt pour exiger la bibliothèque.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Ajoutez cette dépendance à vos cibles.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configurez CMake dans votre environnement Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. Dans votre fichier WORKSPACE, ajoutez la commande suivante pour télécharger le code source des bibliothèques clientes Cloud pour C++ :

    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. Dans votre fichier WORKSPACE, appelez les fonctions Starlark pour charger les dépendances récursives :

    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. Dans votre fichier BUILD, utilisez la bibliothèque Cloud Storage :

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

Configurer l'authentification

Pour utiliser les bibliothèques clientes Cloud dans un environnement de développement local, configurez les identifiants par défaut de l'application.

Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :

gcloud auth application-default login

Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.

Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.

Pour en savoir plus, consultez la section S'authentifier à l'aide des bibliothèques clientes.

Étape suivante