Como configurar um ambiente de desenvolvimento em C++

Neste tutorial, mostramos como preparar sua máquina local para desenvolvimento em C++, incluindo apps em C++ executados no Google Cloud.

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

Objetivos

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

Como instalar o C++

As instruções de instalação do C++ variam de acordo com o sistema operacional. Siga o guia do sistema operacional que você está executando no ambiente de desenvolvimento, macOS, Windows ou Linux.

macOS

  1. Você pode conseguir um compilador C++ instalando as ferramentas de linha de comando do Xcode.

    xcode-select --install
    
  2. Após a conclusão da instalação, 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 fará o download de 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 Primeiros passos do Visual Studio.

Linux

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

  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. Após a conclusão das instalações, verifique se o g++ está instalado:

    g++ --version
    

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

Para usar C++ de maneira eficaz, é necessário ter um sistema de compilação e um gerenciador de pacotes compatíveis com as bibliotecas de cliente do Cloud para C++. As bibliotecas de cliente são compatíveis com vários desses sistemas de compilação e gerenciadores de pacotes.

CMake com vcpkg

  1. O sistema operacional pode fornecer pacotes para o CMake instalado. Caso contrário, instale-o a partir da página de download do CMake

  2. Para instalar o vcpkg, consulte Primeiros passos com o vcpkg.

CMake com Conda

  1. O sistema operacional pode fornecer pacotes para o CMake instalado. Caso contrário, instale-o a partir da 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.

Outros

Se você precisar usar um sistema de compilação ou gerenciador de pacotes diferente, o repositório de bibliotecas de cliente C++ inclui instruções para criar a partir da origem.

Instalar um editor

Há muitos editores e ambientes de desenvolvimento integrado compatíveis com C++. Escolha um 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ódigos

Instalar a CLI do Google Cloud

O Google Cloud CLI é um conjunto de ferramentas para o Google Cloud. Ele contém as ferramentas de linha de comando gcloud, gsutil e bq usadas para acessar o Compute Engine, Cloud Storage, BigQuery e outros serviços a partir da 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 C++ se integrarem aos serviços do Google Cloud, como o Cloud Spanner e o Cloud Storage.

Por exemplo, para instalar o pacote de uma API individual, como a API Cloud Storage, faça o seguinte:

CMake com vcpkg

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

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

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configure o CMake usando o conjunto de ferramentas vcpkg. Isso fará o download 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 seu arquivo CMakeLists.txt para exigir a biblioteca

    find_package(google_cloud_cpp_storage REQUIRED)
  3. Adicionar essa dependência aos 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 fazer o download das bibliotecas de cliente do Cloud para o código-fonte 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. No arquivo WORKSPACE, chame as funções do Starlark para carregar dependências 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. 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 as credenciais de autenticação para sua Conta do Google:

gcloud auth application-default login

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

A seguir