Cómo configurar 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 un entorno de desarrollo configurado, consulta C++ y Google Cloud para obtener una descripción general de cómo ejecutar apps de C++ en Google Cloud.

Objetivos

  • Instala una versión compatible de C++ y 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.

Cómo instalar 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 el entorno de desarrollo, macOS, Windows o Linux.

macOS

  1. Puedes obtener un compilador de C++ mediante la instalación de las herramientas de línea de comandos de Xcode.

    xcode-select --install
    
  2. Una vez finalizada 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, que incluye un editor, un depurador y sistemas de compilación.

  2. Para acceder al 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 de C++ principal. Muchas distribuciones de Linux también incluyen CLang como un compilador de C++ alternativo. Las bibliotecas cliente de C++ son compatibles con ambas.

  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 completadas las instalaciones, verifica que g++ hayas instalado:

    g++ --version
    

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

Para usar C++ de manera efectiva, 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. Tu sistema operativo puede proporcionar paquetes para CMake instalados. Si no lo tiene, instálalo desde la página de descarga de CMake.

  2. Para instalar vcpkg, consulta Comienza a usar vcpkg.

CMake con Conda

  1. Tu sistema operativo puede proporcionar paquetes para CMake instalados. Si no lo tiene, 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 Instala Bazel.

Otro

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

Instala un editor

Hay muchos IDE y editores compatibles con C++. Elige una que se adapte a tus necesidades. Considera las siguientes funciones 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, gsutil 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 que tienen los desarrolladores de C++ de integrar en los servicios de Google Cloud, como Cloud Spanner y Cloud Storage.

Por ejemplo, para 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 el archivo CMakeLists.txt para que requiera 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 el archivo CMakeLists.txt para que requiera 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 Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. En el archivo WORKSPACE, agrega el siguiente comando a fin de descargar las bibliotecas cliente de Cloud para el código fuente de C++:

    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
    
    http_archive(
        name = "google_cloud_cpp",
        sha256 = "63f009092afd900cb812050bcecf607e37d762ac911e0bcbf4af9a432da91890",
        strip_prefix = "google-cloud-cpp-2.19.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.19.0.tar.gz",
    )
  2. En el archivo WORKSPACE, llama a las funciones de Starlark para cargar dependencias recursivas:

    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. En el 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.

Crea credenciales de autenticación locales para tu Cuenta de Google:

gcloud auth application-default login

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

¿Qué sigue?