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
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
-
Instale o CMake
(versão mínima 3.13) e as ferramentas de compilação relevantes para sua plataforma. É recomendável adicionar o cmakeao seuPATH. Para conferir sua versão do CMake, abra um prompt de comando e execute o comandocmake --version. -
Em um prompt de comando, navegue até uma pasta onde você deseja armazenar o SDK.
-
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-cppno 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
-
-
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.
mkdirsdk_buildcdsdk_build -
Gere os arquivos de compilação executando
cmake. Especifique na linha de comandoscmakese deseja criar uma versão de depuração ou lançamento. EscolhaDebugem todo esse procedimento para executar uma configuração de depuração do código da sua aplicação. EscolhaReleaseem 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
pwdno diretório onde você executa a compilação. Garanta que a saídapwduse letras maiúsculas e minúsculas para nomes de diretórios, como/UserseDocuments.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 executandocmake --version. Você deve usar a versão mínima 3.13 do CMake. -
-
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 -
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++