Configura un entorno de desarrollo de C++

En este instructivo, se muestra cómo preparar tu máquina local para el desarrollo en C++, incluido el desarrollo de apps 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++ 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++ instalando 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 "Visual Studio" de Microsoft desde el sitio web de Visual Studio. Se descargará un IDE completo, incluidos 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 Primeros pasos 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 ambas opciones.

  1. Para instalar C++ en un entorno de Linux, instala los paquetes adecuados para tu distribución. En 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 hayas 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 admitan las bibliotecas cliente de Cloud para C++. Las bibliotecas cliente admiten varios de estos sistemas de compilación y administradores de paquetes.

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 de instalación en la guía del usuario de Conda.

Bazel

  1. Para instalar Bazel, consulta Cómo instalar Bazel.

Otro

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

Instala un editor

Existen muchos editores y IDEs que admiten C++. Elige la que se adapte a tus necesidades. Ten en cuenta estas características cuando realices tu selección:

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

Instala Google Cloud CLI

Google Cloud CLI es un conjunto de herramientas para Google Cloud. Contiene las herramientas de línea de comandos de gcloud y bq, que se usan para acceder a Compute Engine, Cloud Storage, BigQuery y otros servicios desde 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 en que los desarrolladores de C++ se integran con los servicios deGoogle Cloud , como Spanner y Cloud Storage.

Por ejemplo, si quieres instalar el paquete para 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 destinos

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configura CMake con la cadena de herramientas de 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 destinos

    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 de Cloud en un entorno de desarrollo local, configura las credenciales predeterminadas de la aplicación.

If you're using a local shell, then create local authentication credentials for your user account:

gcloud auth application-default login

You don't need to do this if you're using Cloud Shell.

If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

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

¿Qué sigue?