Compilar o AWS SDK para C++ no Linux/macOS - AWS SDK para C++

Compilar o AWS SDK para C++ no Linux/macOS

Para configurar o AWS SDK para C++, você pode compilar o SDK diretamente da fonte ou baixar as bibliotecas usando um gerenciador de pacotes.

O código-fonte do SDK é separado em pacotes individuais por serviço. A instalação do SDK completo pode levar até uma hora. Instalar somente o subconjunto específico de serviços que seu programa usa diminui o tempo de instalação e também reduz o tamanho do disco. Para escolher quais serviços instalar, você precisa saber o nome do pacote de cada serviço que seu programa usa. É possível ver a lista de diretórios de pacotes em aws/aws-sdk-cpp no GitHub. O nome do pacote é o sufixo do nome do diretório do serviço.

aws-sdk-cpp\aws-cpp-sdk-<packageName> # Repo directory name and packageName aws-sdk-cpp\aws-cpp-sdk-s3 # Example: Package name is s3

Pré-requisitos

Você precisa de um mínimo de 4 GB de RAM para criar alguns dos maiores clientes da AWS. O SDK pode falhar na criação dos tipos de instância t2.micro, t2.small e outros tipos de instâncias pequenas do Amazon EC2 devido à memória insuficiente.

Para usar o AWS SDK para C++, você precisa do seguinte:

  • GNU Compiler Collection (GCC) 4.9 ou posterior, ou

  • Clang 3.3 ou posterior.

Requisitos adicionais para sistemas Linux

Você precisa ter os arquivos de cabeçalho (pacotes -dev) para libcurl, libopenssl, libuuid, zlib e, opcionalmente, libpulse para suporte do Amazon Polly. Você pode encontrar os pacotes usando o gerenciador de pacotes do sistema.

Como instalar os pacotes em sistemas baseados em Debian/Ubuntu
  • sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev
Como instalar os pacotes em sistemas baseados em Amazon Linux/Redhat/Fedora/CentOS
  • sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel

Compilar o SDK do código-fonte

Você pode compilar o SDK do código-fonte usando ferramentas de linha de comandos como uma alternativa ao uso do vcpkg. Usando esse método, você pode personalizar sua compilação do SDK. Para acessar informações sobre as opções disponíveis, consulte Parâmetros do CMake.

Como compilar o SDK do código-fonte
  1. Instale o CMake (versão mínima 3.13) e as ferramentas de compilação relevantes para sua plataforma. É recomendável adicionar o cmake ao seu PATH. Para conferir sua versão do CMake, abra um prompt de comando e execute o comando cmake --version.

  2. Em um prompt de comando, navegue até uma pasta onde você deseja armazenar o SDK.

  3. Acesse o código-fonte mais recente.

    A versão 1.11 usa submódulos git para agrupar dependências externas. Isso inclui as bibliotecas CRT descritas no Guia de referência de ferramentas e AWS SDKs.

    Baixe ou clone o código-fonte do SDK do aws/aws-sdk-cpp no GitHub:

    • Clone com Git: HTTPS

      git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
    • Clone com Git: SSH

      git clone --recurse-submodules git@github.com:aws/aws-sdk-cpp.git
  4. Recomendamos que você armazene os arquivos de compilação gerados fora do diretório do código-fonte do SDK. Crie outro diretório para armazenar os arquivos de compilação, e navegue até essa pasta.

    mkdir sdk_build cd sdk_build
  5. Gere os arquivos de compilação executando cmake. Especifique na linha de comandos cmake se deseja criar uma versão de depuração ou lançamento. Escolha Debug em todo esse procedimento para executar uma configuração de depuração do código da sua aplicação. Escolha Release em todo esse procedimento para executar uma configuração de lançamento do código da sua aplicação. Sintaxe de comando:

    {path to cmake if not in PATH} {path to source location of aws-sdk-cpp} -DCMAKE_BUILD_TYPE=[Debug | Release] -DCMAKE_PREFIX_PATH={path to install} -DCMAKE_INSTALL_PREFIX={path to install}

    Para ver mais maneiras de modificar a saída da compilação, consulte Parâmetros do CMake.

    nota

    Ao compilar em um Mac com um sistema de arquivos que não diferencia maiúsculas de minúsculas, confira a saída do comando pwd no diretório onde você executa a compilação. Garanta que a saída pwd use letras maiúsculas e minúsculas para nomes de diretórios, como /Users e Documents.

    Para gerar os arquivos de compilação, siga um destes procedimentos:

    • Gere arquivos de compilação (todos Serviços da AWS): para compilar o SDK inteiro, execute o cmake especificando se deseja compilar uma versão de depuração ou lançamento. Por exemplo:

      cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/

    • Gere arquivos de compilação (subconjunto Serviços da AWS): para compilar somente um serviço específicos ou pacotes de serviços para o SDK, adicione o parâmetro BUILD_ONLY do CMake, com os nomes dos serviços separados por ponto e vírgula. O exemplo a seguir compila somente o pacote de serviços do Amazon S3:

      cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3"
    nota

    Se você receber um erro Falha ao criar bibliotecas de terceiros, confira sua versão do CMake executando cmake --version. Você deve usar a versão mínima 3.13 do CMake.

  6. Compile os binários do SDK. Se você estiver compilando o SDK completo, a operação poderá levar uma hora ou mais.

    cmake --build . --config=Debug
  7. Instale o SDK. Talvez seja necessário aumentar os privilégios dependendo do local onde você escolheu instalar.

    cmake --install . --config=Debug

Compilação para Android no Linux

Para realizar a compilação para Android, adicione -DTARGET_ARCH=ANDROID à sua linha de comandos do cmake. O AWS SDK para C++ inclui um arquivo de cadeia de ferramentas do CMake que contém o que você precisa fazendo referência às variáveis de ambiente apropriadas (ANDROID_NDK). Para ver um exemplo de aplicação, consulte Configurar uma aplicação Android com AWS SDK para C++.