Como configurar um ambiente de desenvolvimento em C++

Este tutorial mostra como preparar sua máquina local para o desenvolvimento em C++, incluindo o desenvolvimento de apps em C++ que são executados no Cloud de Confiance by S3NS.

Se você já tem um ambiente de desenvolvimento configurado, consulte C++ e Cloud de Confiance para ter uma visão geral de como executar apps C++ no Cloud de Confiance.

Objetivos

  • Instale uma versão compatível de C++ compatível com o Google Cloud.
  • Instale um sistema de build C++.
  • Instalar um editor (opcional).
  • Instale a Google Cloud CLI (opcional).
  • Instale as bibliotecas de cliente do Cloud para C++ (opcional).
  • Configure a autenticação.

Instalar C++

As instruções de instalação do C++ variam de acordo com o sistema operacional. Siga o guia do sistema operacional em execução no seu ambiente de desenvolvimento: macOS, Windows ou Linux.

macOS

  1. Para ter um compilador C++, instale as ferramentas de linha de comando do Xcode.

    xcode-select --install
    
  2. Depois que a instalação for concluída, verifique se o compilador está disponível como c++:

    c++ --version
    

Windows

  1. Para instalar um compilador C++ em um ambiente Windows, faça o download do "Visual Studio" da Microsoft no site do Visual Studio. Isso vai baixar um ambiente de desenvolvimento integrado completo, incluindo um editor, um depurador e sistemas de build.

  2. Para acessar o compilador C++, siga a seção C++ no guia Introdução do Visual Studio.

Linux

A maioria (se não todas) das distribuições Linux inclui o GCC como o compilador C++ principal. Muitas distribuições do Linux também incluem o CLang como um compilador alternativo de C++. As bibliotecas de cliente C++ são compatíveis com os dois.

  1. Para instalar o C++ em um ambiente Linux, instale os pacotes adequados para sua distribuição. Para Debian e Ubuntu, esse pacote é g++.

    Instale esses pacotes usando os seguintes comandos:

    sudo apt update
    sudo apt install g++
    
  2. Depois que as instalações forem concluídas, verifique se você instalou g++:

    g++ --version
    

Instalar um sistema de build C++ compatível com o Google Cloud

Para usar o C++ de maneira eficaz, você vai precisar de um sistema de build e um gerenciador de pacotes que sejam compatíveis com as bibliotecas de cliente do Cloud para C++. As bibliotecas de cliente são compatíveis com vários sistemas de build e gerenciadores de pacotes.

CMake com vcpkg

  1. Seu sistema operacional pode fornecer pacotes para CMake instalado. Se não, instale na página de download do CMake

  2. Para instalar o vcpkg, consulte Começar a usar o vcpkg.

CMake com Conda

  1. Seu sistema operacional pode fornecer pacotes para CMake instalado. Se não, instale na página de download do CMake

  2. Para instalar o Conda, consulte a seção de instalação no guia do usuário do Conda.

Bazel

  1. Para instalar o Bazel, consulte Como instalar o Bazel.

Outro

Se você precisar usar um sistema de build ou gerenciador de pacotes diferente, o repositório de bibliotecas de cliente C++ inclui instruções para criar do código-fonte.

Instalar um editor

Há muitos editores e ambientes de desenvolvimento integrado (IDEs) com suporte a C++. Escolha uma opção que atenda às suas necessidades. Considere estes recursos ao fazer sua seleção:

  • Recursos de depuração totalmente integrados
  • Destaque de sintaxe
  • Preenchimento de código

Instalar a CLI do Google Cloud

A Google Cloud CLI é um conjunto de ferramentas para Cloud de Confiance. Ele contém as ferramentas de linha de comando gcloud e bq usadas para acessar o Compute Engine, o Cloud Storage, o BigQuery e outros serviços na linha de comando. Execute essas ferramentas de maneira interativa ou nos scripts automatizados.

Instalar as bibliotecas de cliente do Cloud para C++

As bibliotecas de cliente do Cloud para C++ são a maneira idiomática para os desenvolvedores de C++ se integrarem aos serviços doCloud de Confiance , como o Cloud Storage.

Por exemplo, para instalar o pacote de uma API específica, como a API Storage do Cloud, faça o seguinte:

CMake com vcpkg

  1. Adicione google-cloud-cpp como dependência ao arquivo 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. Edite o arquivo CMakeLists.txt para exigir a biblioteca

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Adicione essa dependência aos seus destinos

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configure o CMake usando o conjunto de ferramentas vcpkg. Isso vai baixar e compilar automaticamente o google-cloud-cpp e as dependências dele.

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

CMake com Conda

  1. Instale as dependências usando o 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. Edite o arquivo CMakeLists.txt para exigir a biblioteca

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Adicione essa dependência aos seus destinos

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configure o CMake no ambiente do Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. No arquivo WORKSPACE, adicione o seguinte comando para baixar o código-fonte das bibliotecas de cliente do 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. No arquivo WORKSPACE, chame as funções do Starlark para carregar dependências 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. No arquivo BUILD, use a biblioteca do Cloud Storage:

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

Configurar a autenticação

Para usar as bibliotecas de cliente do Cloud em um ambiente de desenvolvimento local, configure o Application Default Credentials.

Crie credenciais de autenticação local para sua conta de usuário:

gcloud auth application-default login

Se um erro de autenticação for retornado, confirme se você fez login na CLI gcloud com sua identidade federada.

Para mais informações, consulte Autenticar para usar bibliotecas de cliente.

A seguir