

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Scarica e configura il codice della libreria di produzione C\+\+
<a name="producersdk-cpp-download"></a>

Per informazioni su come scaricare e configurare la libreria di produzione C\+\+, consulta [ Amazon Kinesis Video Streams CPP Producer, GStreamer Plugin e JNI. ](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)

Per i prerequisiti e ulteriori informazioni su questo esempio, consulta. [Usa la libreria di produzione C\+\+](producer-sdk-cpp.md)

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

Di seguito è riportata una tabella di riferimento per gli argomenti CMake di C\+\+ Producer SDK-specific . Puoi anche passare le opzioni [ standard di CMake ](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) a CMake.

**Importante**  
Sono tutte opzionali.

**Contrassegni per l'inclusione o l'esclusione di determinate funzionalità **


| Argomento CMake | Tipo | Predefinita | Spiegazione | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | Booleano | ATTIVATO | Crea dipendenze dalla fonte. Altrimenti, usa le dipendenze già installate nel sistema. Se non è possibile trovare una delle dipendenze richieste, verrà restituito un errore. | 
| `BUILD_GSTREAMER_PLUGIN` | Booleano | OFF | Crea il plugin kvssink GStreamer. | 
| `BUILD_JNI` | Booleano | OFF | Crea la Java Native Interface (JNI) per poter chiamare questo codice da un ambiente di runtime Java. | 
| `ALIGNED_MEMORY_MODEL` | Booleano | OFF | Se le allocazioni di memoria devono essere allineate ai limiti di 8 byte. Alcune architetture non consentono l'accesso non allineato alla memoria. | 
| `CONSTRAINED_DEVICE` | Booleano | OFF | Non-Windows solo.  Quando è attiva, imposta la dimensione dello stack di thread su0.5 MiB. Necessario per le [ build di ](https://wiki.alpinelinux.org/wiki/Main_Page) Alpine Linux. Altrimenti, viene utilizzata l'impostazione predefinita del sistema operativo. | 
| `BUILD_STATIC` | Booleano | OFF | Crea librerie ed eseguibili come [ condivisi ](https://en.wikipedia.org/wiki/Shared_library) (OFF) o [ statici ](https://en.wikipedia.org/wiki/Static_library) (ON). | 
| `ADD_MUCLIBC` | Booleano | OFF | Collegati a [ uCLibc ](https://en.wikipedia.org/wiki/UClibc) anziché alla libreria C standard, che è una libreria standard C più piccola progettata per sistemi integrati. | 
| `OPEN_SRC_INSTALL_PREFIX` | Stringa | .. /aprire- source/local | Posizione in cui installare le dipendenze open source, se create dal codice sorgente. | 

**Bandiere per la compilazione incrociata **

**Importante**  
Impostali se le architetture della CPU della macchina target e della macchina host sono diverse.


| Argomento CMake | Tipo | Predefinita | Spiegazione | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` | Stringa | "" | Crea la log4cplus dipendenza per l'architettura della CPU specificata. Se non è impostata, log4cplus rileverà automaticamente e utilizzerà l'architettura della CPU del computer host. | 
| `BUILD_OPENSSL_PLATFORM` | Stringa | "" | Crea la OpenSSL dipendenza per l'architettura della CPU specificata. Se non è impostata, OpenSSL rileverà automaticamente e utilizzerà l'architettura della CPU del computer host. | 

**Bandiere relative ai test **


| Argomento CMake | Tipo | Predefinita | Spiegazione | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | Booleano | OFF | Costruisci i test di unità e integrazione. Per eseguire tutti i test, esegui ./tst/producerTest dalla directory build. AWS Le credenziali sono necessarie per eseguire i test. | 
| `CODE_COVERAGE` | Booleano | OFF | Disponibile solo per i GNU/Clang compilatori. Abilita la raccolta della copertura del codice con [ gcov ](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) e la generazione di report. | 
| `COMPILER_WARNINGS` | Booleano | OFF | Disponibile solo per GNU/Clang i compilatori. Abilita tutti gli avvisi del compilatore. | 
| `ADDRESS_SANITIZER` | Booleano | OFF | Disponibile solo per GNU/Clang i compilatori. Costruisci con [ AddressSanitizer](https://compiler-rt.llvm.org/). | 
| `MEMORY_SANITIZER` | Booleano | OFF | Disponibile solo per i GNU/Clang compilatori. Costruisci con [ MemorySanitizer](https://compiler-rt.llvm.org/). | 
| `THREAD_SANITIZER` | Booleano | OFF | Disponibile solo per i GNU/Clang compilatori. Costruisci con [ ThreadSanitizer](https://compiler-rt.llvm.org/). | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | Booleano | OFF | Disponibile solo per i GNU/Clang compilatori. Costruisci con [ UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/). | 

Per utilizzare questi argomenti CMake, passali come elenco di `-D{{key}}={{value}}` coppie separate da spazi dopo il comando. `cmake ..` Ad esempio:

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

CMake cercherà la toolchain del compilatore seguendo la variabile. `$PATH` Prima di eseguire CMake, imposta le variabili di `CXX` ambiente `CC` e per impostare esplicitamente la toolchain da utilizzare per la compilazione incrociata.