

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á.

# Baixe e configure o código da biblioteca do produtor de C\+\+
<a name="producersdk-cpp-download"></a>

Para obter informações sobre como baixar e configurar a biblioteca do produtor de C\+\+, consulte [ Amazon Kinesis Video Streams CPP Producer, GStreamer Plugin e JNI. ](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)

Para obter os pré-requisitos e obter mais informações sobre esse exemplo, consulte. [Use a biblioteca de produtores de C\+\+](producer-sdk-cpp.md)

## Argumentos do CMake
<a name="cmake-arguments"></a>

Abaixo está uma tabela de referência para os argumentos do C\+\+ Producer SDK-specific CMake. Você também pode passar as opções [ padrão do CMake ](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) para o CMake.

**Importante**  
Tudo isso é opcional.

**Sinalizadores para incluir ou excluir determinados recursos **


| Argumento CMake | Tipo | Padrão | Explicação | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | Booleano | ON | Crie dependências a partir da fonte. Caso contrário, use as dependências que já estão instaladas no sistema. Se uma das dependências necessárias não puder ser encontrada, um erro será retornado. | 
| `BUILD_GSTREAMER_PLUGIN` | Booleano | DESL. | Constrói o plugin kvssink GStreamer. | 
| `BUILD_JNI` | Booleano | DESL. | Constrói a Java Native Interface (JNI) para poder chamar esse código a partir de um ambiente de execução Java. | 
| `ALIGNED_MEMORY_MODEL` | Booleano | DESL. | Se as alocações de memória precisarem ser alinhadas aos limites de 8 bytes. Algumas arquiteturas não permitem acesso desalinhado à memória. | 
| `CONSTRAINED_DEVICE` | Booleano | DESL. | Non-Windows somente.  Quando ATIVADO, define o tamanho da pilha de linhas para0.5 MiB. Necessário para [ compilações ](https://wiki.alpinelinux.org/wiki/Main_Page) do Alpine Linux. Caso contrário, o padrão do sistema operacional será usado. | 
| `BUILD_STATIC` | Booleano | DESL. | Crie bibliotecas e executáveis como [ compartilhados ](https://en.wikipedia.org/wiki/Shared_library) (DESLIGADOS) ou [ estáticos ](https://en.wikipedia.org/wiki/Static_library) (LIGADOS). | 
| `ADD_MUCLIBC` | Booleano | DESL. | Vincule ao [ uClibc ](https://en.wikipedia.org/wiki/UClibc) em vez da biblioteca C padrão, que é uma biblioteca padrão C menor projetada para sistemas embarcados. | 
| `OPEN_SRC_INSTALL_PREFIX` | String | .. /abrir- source/local | Local para instalar as dependências de código aberto, se compiladas a partir do código-fonte. | 

**Sinalizadores para compilação cruzada **

**Importante**  
Defina-os se as arquiteturas de CPU da máquina hospedeira e de destino forem diferentes.


| Argumento CMake | Tipo | Padrão | Explicação | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` | String | "" | Crie a log4cplus dependência para a arquitetura de CPU especificada. Se não for definido, log4cplus detectará automaticamente e usará a arquitetura de CPU da máquina host. | 
| `BUILD_OPENSSL_PLATFORM` | String | "" | Crie a OpenSSL dependência para a arquitetura de CPU especificada. Se não for definido, OpenSSL detectará automaticamente e usará a arquitetura de CPU da máquina host. | 

**Sinalizadores relacionados ao teste **


| Argumento CMake | Tipo | Padrão | Explicação | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | Booleano | DESL. | Crie os testes unitários e de integração. Para executar todos os testes, execute a ./tst/producerTest partir do diretório de compilação. AWS As credenciais são necessárias para executar os testes. | 
| `CODE_COVERAGE` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Ative a coleta de cobertura de código com [ gcov ](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) e geração de relatórios. | 
| `COMPILER_WARNINGS` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Ative todos os avisos do compilador. | 
| `ADDRESS_SANITIZER` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Construa com [ AddressSanitizer](https://compiler-rt.llvm.org/). | 
| `MEMORY_SANITIZER` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Construa com [ MemorySanitizer](https://compiler-rt.llvm.org/). | 
| `THREAD_SANITIZER` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Construa com [ ThreadSanitizer](https://compiler-rt.llvm.org/). | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | Booleano | DESL. | Disponível somente para GNU/Clang compiladores. Construa com [ UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/). | 

Para usar esses argumentos do CMake, passe-os como uma lista de `-D{{key}}={{value}}` pares separados por espaços após o comando. `cmake ..` Por exemplo:

```
cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF -DALIGNED_MEMORY_MODEL=ON 
```

O CMake procurará a cadeia de ferramentas do compilador seguindo a variável. `$PATH` Antes de executar o CMake, defina as variáveis de `CXX` ambiente `CC` e para definir explicitamente a cadeia de ferramentas a ser usada na compilação cruzada.