Como configurar um ambiente de desenvolvimento em C++

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

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

Objetivos

  • Instale uma versão compatível do C++ 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 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, seja macOS, Windows ou Linux.

macOS

  1. Para ter um compilador de 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 de 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 das distribuições Linux (se não todas) inclui o GCC como o principal compilador de C++. Muitas distribuições 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 apropriados para sua distribuição. Para Debian e Ubuntu, esse pacote é o 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 o C++ de maneira eficaz, você precisa de um sistema de build e um gerenciador de pacotes que ofereçam suporte às 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 o CMake instalado. Se não, instale-o 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 o CMake instalado. Se não, instale-o 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 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 a opção mais adequada à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 Google Cloud. Ele contém as ferramentas de linha de comando gcloud e bq usadas para acessar o Compute Engine, Cloud Storage, BigQuery e outros serviços pela 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 doGoogle Cloud , como o Spanner e o Cloud Storage.

Por exemplo, para instalar o pacote para uma API individual, como a API Cloud Storage, 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 às suas metas

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Configure o CMake usando o conjunto de ferramentas vcpkg. Isso vai fazer o download e compilar automaticamente 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 às suas metas

    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.

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.

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

A seguir