

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Construindo o AWS SDK para C\$1\$1 no Windows
<a name="setup-windows"></a>

Para configurar o AWS SDK para C\$1\$1, você mesmo pode criar 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. Você pode ver a lista de diretórios de pacotes em [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp)on. 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
<a name="prerequisites"></a>

Você precisa de um mínimo de 4 GB de RAM para criar alguns dos maiores AWS clientes. 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\$1\$1, você precisa de um dos seguintes:
+ Microsoft Visual Studio 2015 ou posterior, 
+  GNU Compiler Collection (GCC) 4.9 ou posterior, ou
+  Clang 3.3 ou posterior.

## Compilar o SDK para Windows com curl
<a name="build-curl-id"></a>

No Windows, o SDK é compilado com [WinHTTP](https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925%28v=vs.85%29.aspx) como cliente HTTP padrão. No entanto, o WinHTTP 1.0 não oferece suporte ao streaming bidirecional HTTP/2, o que é necessário para alguns, como o Amazon Transcribe e o Serviços da AWS Amazon Lex. Portanto, às vezes é necessário criar suporte ao curl com o SDK. Para ver todas as opções de download de curl disponíveis, consulte [Versões e downloads do curl](https://curl.se/download.html). Veja a seguir um método para compilar o SDK com suporte a curl:

**Para compilar o SDK com suporte à biblioteca curl incluído**

1. Navegue até [curl para Windows](https://curl.se/windows/) e baixe o pacote binário curl para Microsoft Windows. 

1. Descompacte o pacote em uma pasta no computador, por exemplo, `C:\curl`. 

1. Navegue até [Certificados CA extraídos do Mozilla](http://curl.haxx.se/docs/caextract.html) e baixe o arquivo `cacert.pem`. Esse arquivo Privacy Enhanced Mail (PEM) contém um pacote de certificados digitais válidos que são usados para verificar a autenticidade de sites seguros. Os certificados são distribuídos por empresas de autoridade de certificação (CA), como GlobalSign a Verisign. 

1. Mova o arquivo `cacert.pem` para a subpasta `bin` que você descompactou em uma etapa anterior, por exemplo, `C:\curl\bin`. Renomeie o arquivo para `curl-ca-bundle.crt`. 

Além disso, o Microsoft Build Engine (MSBuild) deve ser capaz de localizar a curva `dll` no procedimento a seguir. Portanto, você deve adicionar o caminho da pasta `bin` do curl à sua variável de ambiente `PATH` do Windows, por exemplo, `set PATH=%PATH%;C:\curl\bin`. Você deve adicionar isso sempre que abrir um novo prompt de comando para compilar o SDK. Você também pode definir a variável de ambiente globalmente nas configurações do sistema Windows para que a configuração seja lembrada.

Ao *compilar o SDK do código-fonte* no procedimento a seguir, consulte a Etapa 5 (Gerar arquivos de compilação) para ver a sintaxe de comando necessária para criar o curl em seu SDK. 

Ao escrever seu código, você deve definir `caFile` no [Configurar clientes de serviço no código do AWS SDK para C\$1\$1 no código](client-config.md) como o local do seu arquivo de certificado. Para ver um exemplo usando o Amazon Transcribe, [https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/transcribe-streaming](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/transcribe-streaming)consulte no Repositório de exemplos de *código* em AWS . GitHub

## Compilar o SDK do código-fonte
<a name="setup-windows-from-source"></a>

Você pode compilar o SDK do código-fonte usando ferramentas de linha de comandos. Usando esse método, você pode personalizar sua compilação do SDK. Para obter informações sobre as opções disponíveis, consulte [CMake Parâmetros](cmake-params.md). Veja as três etapas principais: Primeiro, você cria os arquivos usando CMake. Em segundo lugar, você usa MSBuild para criar os binários do SDK que funcionam com seu sistema operacional e criar uma cadeia de ferramentas. Em terceiro lugar, você vai instalar ou copiar os binários no local correto na máquina de desenvolvimento.

**Como compilar o SDK do código-fonte**

1. Instale [CMake](https://cmake.org/)(versão mínima 3.13) e as ferramentas de construção relevantes para sua plataforma. É recomendável adicionar o `cmake` ao seu `PATH`. Para verificar sua versão do CMake, abra um prompt de comando e execute o comando **cmake --version**

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

1. 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](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html) descritas no *Guia de referência de ferramentas AWS SDKs e ferramentas*.

   Baixe ou clone a fonte do SDK a partir de [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp): 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
     ```

1. 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
   ```

1. 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. Para Windows, o local de instalação do SDK normalmente é `\Program Files (x86)\aws-cpp-sdk-all\`. 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 destination}`

   Para obter mais maneiras de modificar a saída da compilação, consulte [CMakeParâmetros](cmake-params.md).

   Para gerar os arquivos de compilação, siga um destes procedimentos:
   + **Gere arquivos de compilação (todos Serviços da AWS)***: Para criar o SDK inteiro, execute cmake, especificando se deseja criar uma versão de *depuração* ou lançamento.* Por exemplo:

     ```
     cmake "..\aws-sdk-cpp" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```

     
   + **Gere arquivos de compilação (subconjunto Serviços da AWS)**: para criar somente um serviço ou pacotes de serviços específicos para o SDK, adicione o CMake [BUILD\$1ONLY](cmake-params.md#cmake-build-only) parâmetro, 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 -DBUILD_ONLY="s3" -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```
   + **Gere arquivos de compilação (com curl)**: depois de concluir os pré-requisitos do curl, três opções adicionais de linha de comandos do cmake são necessárias para incluir o suporte ao curl no SDK: [FORCE\$1CURL](cmake-params.md#cmake-force-curl), [CURL\$1INCLUDE\$1DIR](cmake-params.md#cmake-curl-include-dir) e [CURL\$1LIBRARY](cmake-params.md#cmake-curl-library). Por exemplo: 

     ```
     cmake ..\aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DFORCE_CURL=ON -DCURL_INCLUDE_DIR='C:/curl/include'
           -DCURL_LIBRARY='C:/curl/lib/libcurl.dll.a' -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```
**nota**  
Se você receber um erro Falha ao criar bibliotecas de terceiros, verifique sua versão do CMake executando**cmake --version**. Você deve usar a versão CMake mínima 3.13. 

1. Compile os binários do SDK. Se você estiver compilando o SDK completo, essa etapa pode levar uma hora ou mais. Sintaxe de comando: 

   `{path to cmake if not in PATH} --build . --config=[Debug | Release]`

   ```
   cmake --build . --config=Debug
   ```
**nota**  
Se você encontrar o erro A execução do código não pode prosseguir... dll não encontrada. A reinstalação do programa pode resolver esse problema.”, repita o comando `cmake` novamente.

1. Abra um prompt de comando com privilégios de **administrador** para instalar o SDK no local especificado anteriormente usando o parâmetro `CMAKE_PREFIX_PATH`. Sintaxe de comando: 

   `{path to cmake if not in PATH} --install . --config=[Debug | Release]`

   ```
   cmake --install . --config=Debug
   ```

## Compilação para Android no Windows
<a name="building-for-android"></a>

Para realizar a compilação para Android, adicione `-DTARGET_ARCH=ANDROID` à sua linha de comandos do `cmake`. AWS SDK para C\$1\$1 Inclui um arquivo CMake de conjunto de ferramentas que inclui o que você precisa referenciando as variáveis de ambiente apropriadas ()`ANDROID_NDK`.

Para compilar o SDK para Android no Windows, você precisa executar o `cmake` por meio de um prompt de comando do desenvolvedor do Visual Studio (2015 ou posterior). Você também precisará do NMAKE [NMAKE](https://docs.microsoft.com/en-us/cpp/build/reference/nmake-reference?view=msvc-160) instalado e dos comandos **`git`** e **`patch`** em seu caminho. Se você tiver o git instalado em um sistema Windows, provavelmente encontrará o **`patch`** em um diretório irmão (`.../Git/usr/bin/`). Depois de verificar esses requisitos, sua linha de comandos do `cmake` mudará um pouco para usar o NMAKE.

```
cmake -G "NMake Makefiles" `-DTARGET_ARCH=ANDROID` <other options> ..
```

O NMAKE é compilado em série. Para compilar mais rapidamente, recomendamos que você instale o JOM como alternativa ao NMAKE e, depois, altere a invocação do `cmake` da seguinte forma:

```
cmake -G "NMake Makefiles JOM" `-DTARGET_ARCH=ANDROID` <other options> ..
```

Para ver um exemplo de aplicativo, consulte [Configurando um aplicativo Android com AWS SDK para C\$1\$1](https://aws.amazon.com/blogs/developer/setting-up-an-android-application-with-aws-sdk-for-c/)