Configurazione di un ambiente di sviluppo C++

Questo tutorial mostra come preparare la tua macchina locale per lo sviluppo in C++, incluso lo sviluppo di app C++ in esecuzione su Google Cloud.

Se hai già configurato un ambiente di sviluppo, consulta C++ e Google Cloud per una panoramica su come eseguire app C++ su Google Cloud.

Obiettivi

  • Installa una versione supportata di C++ compatibile con Google Cloud.
  • Installa un sistema di compilazione C++.
  • Installa un editor (facoltativo).
  • Installa Google Cloud CLI (facoltativo).
  • Installa le librerie client di Cloud per C++ (facoltativo).

Installazione di C++

Le istruzioni di installazione di C++ variano a seconda del sistema operativo. Segui la guida per il sistema operativo in esecuzione nel tuo ambiente di sviluppo, macOS, Windows o Linux.

macOS

  1. Puoi ottenere un compilatore C++ installando gli strumenti a riga di comando di Xcode.

    xcode-select --install
    
  2. Al termine dell'installazione, verifica che il compilatore sia disponibile come c++:

    c++ --version
    

Windows

  1. Per installare un compilatore C++ in un ambiente Windows, scarica " Visual Studio" di Microsoft dal sito web di Visual Studio. Verrà scaricato un IDE completo, inclusi un editor, un debugger e sistemi di build.

  2. Per accedere al compilatore C++, segui la sezione C++ della Guida introduttiva di Visual Studio.

Linux

La maggior parte delle distribuzioni Linux (se non tutte) include GCC come compilatore principale per C++. Molte distribuzioni Linux includono anche CLang come compilatore C++ alternativo. Le librerie client di C++ supportano entrambi i metodi.

  1. Per installare C++ in un ambiente Linux, installa i pacchetti appropriati per la tua distribuzione. Per Debian e Ubuntu, il pacchetto è g++.

    Installa questi pacchetti utilizzando i seguenti comandi:

    sudo apt update
    sudo apt install g++
    
  2. Al termine dell'installazione, verifica di aver installato g++:

    g++ --version
    

Installa un sistema di build C++ compatibile con Google Cloud

Per utilizzare C++ in modo efficace, devi avere un sistema di compilazione e un gestore di pacchetti che supporti le librerie client di Cloud per C++. Le librerie client supportano più sistemi di build e gestori di pacchetti.

CMake con vcpkg

  1. Il tuo sistema operativo potrebbe fornire pacchetti per CMake installato. In caso contrario, installalo dalla pagina di download di CMake.

  2. Per installare vcpkg, consulta Iniziare a utilizzare vcpkg

CMake con Conda

  1. Il tuo sistema operativo potrebbe fornire pacchetti per CMake installato. In caso contrario, installalo dalla pagina di download di CMake.

  2. Per installare Conda, consulta la sezione Installazione nella Guida dell'utente di Conda.

Bazel

  1. Per installare Bazel, consulta Installazione di Bazel

Altro

Se devi utilizzare un sistema di compilazione o un gestore di pacchetti diverso, il repository delle librerie client di C++ include le istruzioni per creare dall'origine.

Installa un editor

Esistono molti editor e IDE che supportano C++. Scegli quello più adatto alle tue esigenze. Quando effettui la selezione, considera le seguenti funzionalità:

  • Funzionalità di debug completamente integrate
  • Evidenziazione della sintassi
  • Completamento del codice

Installa Google Cloud CLI

Google Cloud CLI è una serie di strumenti per Google Cloud. Contiene gli strumenti a riga di comando gcloud, gsutil e bq utilizzati per accedere dalla riga di comando a Compute Engine, Cloud Storage, BigQuery e altri servizi. Puoi eseguire questi strumenti in modo interattivo o nei tuoi script automatizzati.

Installazione delle librerie client di Cloud per C++

Le librerie client Cloud per C++ sono il modo idiomatico in cui gli sviluppatori C++ possono integrarsi con i servizi di Google Cloud, come Spanner e Cloud Storage.

Ad esempio, per installare il pacchetto per una singola API, come l'API Cloud Storage, segui questi passaggi:

CMake con vcpkg

  1. Aggiungi google-cloud-cpp come dipendenza al file 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. Modifica il file CMakeLists.txt per richiedere la raccolta

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Aggiungi questa dipendenza ai tuoi target

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake utilizzando la Toolchain vcpkg. google-cloud-cpp e le sue dipendenze verranno scaricati e compilati automaticamente.

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

CMake con Conda

  1. Installa le dipendenze utilizzando 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. Modifica il file CMakeLists.txt per richiedere la raccolta

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Aggiungi questa dipendenza ai tuoi target

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake nel tuo ambiente Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. Nel file WORKSPACE aggiungi il seguente comando per scaricare le librerie client di Cloud per il codice sorgente C++:

    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
    http_archive(
        name = "google_cloud_cpp",
        sha256 = "374efd3d85144f373cc8efcaea30712c0b1afacfc35574e2f4fd512360fd3d01",
        strip_prefix = "google-cloud-cpp-2.18.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.18.0.tar.gz",
    )
  2. Nel file WORKSPACE, chiama le funzioni Starlark per caricare le dipendenze ricorsive:

    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. Nel file BUILD utilizza la libreria Cloud Storage:

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

Passaggi successivi