

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 C\+\+ Producer
<a name="producersdk-cpp-download"></a>

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

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

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

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

**Importante**  
Sono tutte opzionali.

**Bandiere per includere o escludere determinate funzionalità**


| CMake argomento | Tipo | Predefinita | Spiegazione | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | Booleano | ATTIVATO | Crea dipendenze dal codice sorgente. 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 | Costruisce il plugin. kvssink GStreamer  | 
| `BUILD_JNI` | Booleano | OFF | Crea la Java Native Interface (JNI) per poter richiamare 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 | Solo prodotti non Windows. Quando è attivo, imposta la dimensione dello stack di thread su. 0.5 MiB Necessario per le build di [Alpine Linux](https://wiki.alpinelinux.org/wiki/Main_Page). 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 | .. /open source/locale | Posizione in cui installare le dipendenze open source, se compilate dal codice sorgente. | 

**Bandiere per la compilazione incrociata**

**Importante**  
Impostali se le architetture della CPU del computer di destinazione e quelle del computer host sono diverse.


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

**Bandiere relative ai test**


| CMake argomento | Tipo | Predefinita | Spiegazione | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | Booleano | OFF | Costruisci i test unitari e di 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 CMake argomenti, passali come elenco di `-D{{key}}={{value}}` coppie separate da spazi dopo il `cmake ..` comando. Esempio:

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

CMake cercherà la toolchain del compilatore seguendo la variabile. `$PATH` Prima dell'esecuzione CMake, imposta le variabili `CC` e di `CXX` ambiente per impostare in modo esplicito la toolchain da utilizzare per la compilazione incrociata.