Configura un entorno de desarrollo de C++

En este instructivo, se muestra cómo preparar tu máquina local para el desarrollo de C++ , incluido el desarrollo de aplicaciones de C++ que se ejecutan en Google Cloud.

Si ya tienes configurado un entorno de desarrollo, consulta C++ y Google Cloud para obtener una descripción general sobre cómo ejecutar apps de C++ en Google Cloud.

Objetivos

  • Instala una versión compatible de C++ compatible con Google Cloud.
  • Instala un sistema de compilación de C++.
  • Instalar un editor (opcional).
  • Instala Google Cloud CLI (opcional).
  • Instala las bibliotecas cliente de Cloud para C++ (opcional).
  • Configura la autenticación.

Instala C++

Las instrucciones de instalación de C++ varían según el sistema operativo. Sigue la guía del sistema operativo que ejecutas en tu entorno de desarrollo, macOS, Windows o Linux.

macOS

  1. Puedes obtener un compilador de C++ si instalas las herramientas de línea de comandos de Xcode.

    xcode-select --install
    
  2. Una vez que se complete la instalación, verifica que tu compilador esté disponible como c++:

    c++ --version
    

Windows

  1. Para instalar un compilador de C++ en un entorno de Windows, descarga el "Visual Studio" de Microsoft desde el sitio web de Visual Studio. Se descargará un IDE completo, que incluye un editor, un depurador y sistemas de compilación.

  2. Para acceder a tu compilador de C++, sigue la sección de C++ en la guía de introducción de Visual Studio.

Linux

La mayoría de las distribuciones de Linux (si no todas) incluyen GCC como su compilador principal de C++. Muchas distribuciones de Linux también incluyen CLang como un compilador alternativo de C++. Las bibliotecas cliente de C++ admiten ambos.

  1. Para instalar C++ en un entorno de Linux, instala los paquetes adecuados para tu distribución. Para Debian y Ubuntu, este paquete es g++.

    Instala estos paquetes con los siguientes comandos:

    sudo apt update
    sudo apt install g++
    
  2. Una vez que se completen las instalaciones, verifica que tengas instalado g++:

    g++ --version
    

Instala un sistema de compilación de C++ compatible con Google Cloud

Para usar C++ de manera eficaz, necesitarás un sistema de compilación y un administrador de paquetes que admita las bibliotecas cliente de Cloud para C++. Las bibliotecas cliente admiten varios sistemas de compilación y administradores de paquetes de este tipo.

CMake con vcpkg

  1. Es posible que tu sistema operativo proporcione paquetes para CMake instalado. Si no es así, instálalo desde la página de descarga de CMake

  2. Para instalar vcpkg, consulta Comienza a usar vcpkg

CMake con Conda

  1. Es posible que tu sistema operativo proporcione paquetes para CMake instalado. Si no es así, instálalo desde la página de descarga de CMake

  2. Para instalar Conda, consulta la sección Instalación en la Guía del usuario de Conda.

Bazel

  1. Para instalar Bazel, consulta Instala Bazel.

Otro

Si necesitas usar un sistema de compilación o un administrador de paquetes diferente, el repositorio de bibliotecas cliente de C++ incluye instrucciones para compilar desde la fuente.

Instala un editor

Existen muchos editores y IDEs con compatibilidad con C++. Elige uno que se adapte a tus necesidades. Ten en cuenta estas funciones cuando hagas tu selección:

  • Funciones de depuración completamente integradas
  • Resaltado de sintaxis
  • Finalización de código

Instala Google Cloud CLI

La Google Cloud CLI es un conjunto de herramientas para Google Cloud. Contiene las gcloud y bq herramientas de línea de comandos que se utilizan para acceder a Compute Engine, Cloud Storage, BigQuery y otros servicios de la línea de comandos. Puedes ejecutar estas herramientas de manera interactiva o en tus secuencias de comandos automatizadas.

Instala las bibliotecas cliente de Cloud para C++

Las bibliotecas cliente de Cloud para C++ son la forma idiomática que tienen los desarrolladores de C++ de integrar en Google Cloud los servicios, como Spanner y Cloud Storage.

Por ejemplo, para instalar el paquete de una API individual, como la API de Cloud Storage, haz lo siguiente:

CMake con vcpkg

  1. Agrega google-cloud-cpp como dependencia a tu archivo 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. Edita tu archivo CMakeLists.txt para requerir la biblioteca.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Agrega esta dependencia a tus objetivos.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake con la cadena de herramientas vcpkg. Esto descargará y compilará automáticamente google-cloud-cpp y sus dependencias.

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

CMake con Conda

  1. Instala las dependencias con 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. Edita tu archivo CMakeLists.txt para requerir la biblioteca.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Agrega esta dependencia a tus objetivos.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake en tu entorno de Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. En tu archivo WORKSPACE, agrega el siguiente comando para descargar el código fuente de las bibliotecas cliente de Cloud para 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. En tu archivo WORKSPACE, llama a las funciones de Starlark para cargar dependencias recursivas:

    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. En tu archivo BUILD, usa la biblioteca de Cloud Storage:

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

Configura la autenticación

Para usar las bibliotecas cliente en un entorno de desarrollo local, configura las credenciales predeterminadas de la aplicación.

Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:

gcloud auth application-default login

No es necesario que lo hagas si usas Cloud Shell.

Si se muestra un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a gcloud CLI con tu identidad federada.

Si deseas obtener más información, consulta Autentícate para usar las bibliotecas cliente.

¿Qué sigue?