Configurazione di un ambiente di sviluppo C++

Questo tutorial mostra come preparare la macchina locale per C++ lo sviluppo, inclusa la creazione di app C++ che vengono eseguite 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

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

Installare C++

Le istruzioni di installazione di C++ variano in base al 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 il "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++ nella guida introduttiva di Visual Studio.

Linux

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

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

    Installa questi pacchetti utilizzando i seguenti comandi:

    sudo apt update
    sudo apt install g++
    
  2. Al termine delle installazioni, verifica di aver installato g++:

    g++ --version
    

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

Per utilizzare C++ in modo efficace, ti servirà un sistema di compilazione e un gestore di pacchetti che supporti le librerie client Cloud per C++. Le librerie client supportano più sistemi di compilazione e gestori di pacchetti di questo tipo.

CMake con vcpkg

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

  2. Per installare vcpkg, consulta la guida introduttiva a vcpkg

CMake con Conda

  1. Il 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 per l'utente di Conda.

Bazel

  1. Per installare Bazel, consulta Installare Bazel

Altro

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

Installare un editor

Esistono molti editor e IDE con supporto C++. Scegli quello più adatto alle tue esigenze. Quando effettui la selezione, considera queste funzionalità:

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

Installare Google Cloud CLI

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

Installare le librerie client Cloud per C++

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

Ad esempio, per installare il pacchetto per una singola API, come l'API Storage di Cloud, procedi nel seguente modo:

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 libreria

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Aggiungi questa dipendenza alle tue destinazioni

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

    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 libreria

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Aggiungi questa dipendenza alle tue destinazioni

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake all'interno dell'ambiente Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. Nel file WORKSPACE, aggiungi il seguente comando per scaricare il codice sorgente delle librerie client Cloud per 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. Nel file WORKSPACE, chiama le funzioni Starlark per caricare le dipendenze ricorsive:

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

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

Configurare l'autenticazione

Per utilizzare le librerie client Cloud in un ambiente di sviluppo locale, configura le Credenziali predefinite dell'applicazione.

Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:

gcloud auth application-default login

Non devi eseguire questa operazione se utilizzi Cloud Shell.

Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Per ulteriori informazioni, consulta Autenticarsi per l'utilizzo delle librerie client.

Passaggi successivi