

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Descargue y configure el código de la biblioteca del productor de C\$1\$1
<a name="producersdk-cpp-download"></a>

Para obtener información sobre cómo descargar y configurar la biblioteca de productores de C\$1\$1, consulte [Amazon Kinesis Video Streams CPP Producer GStreamer , Plugin](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp) y JNI.

Para ver los requisitos previos y obtener más información sobre este ejemplo, consulte. [Utilice la biblioteca de productores de C\$1\$1](producer-sdk-cpp.md)

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

A continuación se muestra una tabla de referencia para los argumentos específicos del SDK CMake de C\$1\$1 Producer. También puedes pasar las [ CMake opciones estándar](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) a CMake .

**importante**  
Todas son opcionales.

**Banderas para incluir o excluir determinadas funciones**


| CMake argumento | Tipo | Predeterminado | Explicación | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` |  Booleano  |  ON  | Cree dependencias a partir de la fuente. De lo contrario, utilice las dependencias que ya están instaladas en el sistema. Si no se encuentra una de las dependencias requeridas, se devolverá un error. | 
| `BUILD_GSTREAMER_PLUGIN` | Booleano |  OFF  | Crea el kvssink GStreamer complemento. | 
|  `BUILD_JNI`  | Booleano |  OFF  | Crea la interfaz nativa de Java (JNI) para poder llamar a este código desde un entorno de ejecución de Java. | 
|  `ALIGNED_MEMORY_MODEL`  | Booleano |  OFF  | Si las asignaciones de memoria deben alinearse con los límites de 8 bytes. Algunas arquitecturas no permiten el acceso a la memoria de forma no alineada. | 
| `CONSTRAINED_DEVICE` | Booleano |  OFF  | Solo para dispositivos que no son de Windows. Cuando está activada, establece el tamaño de la pila de subprocesos en0.5 MiB. Necesario para las compilaciones de [Alpine Linux](https://wiki.alpinelinux.org/wiki/Main_Page). De lo contrario, se utiliza el sistema operativo predeterminado. | 
|  `BUILD_STATIC`  | Booleano |  OFF  | Cree bibliotecas y ejecutables como [compartidos](https://en.wikipedia.org/wiki/Shared_library) (DESACTIVADOS) o [estáticos](https://en.wikipedia.org/wiki/Static_library) (ACTIVADOS). | 
|  `ADD_MUCLIBC`  | Booleano |  OFF  | Conéctese a [uClibc](https://en.wikipedia.org/wiki/UClibc) en lugar de a la biblioteca C estándar, que es una biblioteca estándar C más pequeña diseñada para sistemas embebidos. | 
|  `OPEN_SRC_INSTALL_PREFIX`  |  Cadena  | .. /de código abierto/local | Ubicación para instalar las dependencias de código abierto, si se está compilando desde el código fuente. | 

**Banderas para la compilación cruzada**

**importante**  
Configúrelas si las arquitecturas de la CPU de la máquina de destino y la del equipo anfitrión son diferentes.


| CMake argumento | Tipo | Predeterminado | Explicación | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` |  Cadena  |  ""  | Cree la log4cplus dependencia para la arquitectura de CPU especificada. Si no se establece, log4cplus detectará automáticamente y utilizará la arquitectura de CPU de la máquina host. | 
| `BUILD_OPENSSL_PLATFORM`  |  Cadena  |  ""  | Cree la OpenSSL dependencia para la arquitectura de CPU especificada. Si no se establece, OpenSSL detectará automáticamente y utilizará la arquitectura de CPU de la máquina host. | 

**Indicadores relacionados con las pruebas**


| CMake argumento | Tipo | Predeterminado | Explicación | 
| --- | --- | --- | --- | 
| `BUILD_TEST` |  Booleano  |  OFF  | Construya las pruebas unitarias y de integración. Para ejecutar todas las pruebas, ejecútelas ./tst/producerTest desde el directorio de compilación. AWS Se necesitan credenciales para ejecutar las pruebas. | 
| `CODE_COVERAGE` | Booleano | OFF | Solo disponible para GNU/Clang compiladores. Habilite la recopilación de cobertura de código con [gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) y la generación de informes. | 
| `COMPILER_WARNINGS` | Booleano | OFF | Solo disponible para compiladores. GNU/Clang Activa todas las advertencias del compilador. | 
| `ADDRESS_SANITIZER` | Booleano | OFF | Solo disponible para GNU/Clang compiladores. Construye con [AddressSanitizer](https://compiler-rt.llvm.org/). | 
| `MEMORY_SANITIZER` | Booleano | OFF | Solo disponible para GNU/Clang compiladores. Construye con [MemorySanitizer](https://compiler-rt.llvm.org/). | 
| `THREAD_SANITIZER` | Booleano | OFF | Solo disponible para GNU/Clang compiladores. Construye con [ThreadSanitizer](https://compiler-rt.llvm.org/). | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | Booleano | OFF | Solo disponible para GNU/Clang compiladores. Construye con [UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/). | 

Para usar estos CMake argumentos, páselos como una lista de `-Dkey=value` pares separados por espacios siguiendo el `cmake ..` comando. Por ejemplo:

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

CMake buscará la cadena de herramientas del compilador siguiendo la variable. `$PATH` Antes de ejecutar CMake, defina las variables de `CXX` entorno `CC` y las variables de entorno para configurar de forma explícita la cadena de herramientas que se utilizará en la compilación cruzada.