

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Laden Sie den C\+\+ Producer-Bibliothekscode herunter und konfigurieren Sie ihn
<a name="producersdk-cpp-download"></a>

Informationen zum Herunterladen und Konfigurieren der C\+\+ Producer-Bibliothek finden Sie unter [ Amazon Kinesis Video Streams CPP Producer, GStreamer-Plugin und JNI. ](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)

Voraussetzungen und weitere Informationen zu diesem Beispiel finden Sie unter. [Verwenden Sie die C\+\+ Producer-Bibliothek](producer-sdk-cpp.md)

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

Unten finden Sie eine Referenztabelle für die SDK-specific CMake-Argumente von C\+\+ Producer. Sie können auch die [ Standard-CMake-Optionen ](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) an CMake übergeben.

**Wichtig**  
Diese sind alle optional.

**Flaggen zum Ein- oder Ausschließen bestimmter Funktionen **


| CMake-Argument | Typ | Standard | Erklärung | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | Boolesch | ON | Erstellen Sie Abhängigkeiten aus dem Quellcode. Verwenden Sie andernfalls die Abhängigkeiten, die bereits auf dem System installiert sind. Wenn eine der erforderlichen Abhängigkeiten nicht gefunden werden konnte, wird ein Fehler zurückgegeben. | 
| `BUILD_GSTREAMER_PLUGIN` | Boolesch | OFF | Erstellt das kvssink GStreamer-Plugin. | 
| `BUILD_JNI` | Boolesch | OFF | Erstellt das Java Native Interface (JNI), um diesen Code aus einer Java-Laufzeitumgebung aufrufen zu können. | 
| `ALIGNED_MEMORY_MODEL` | Boolesch | OFF | Wenn Speicherzuweisungen an 8-Byte-Grenzen ausgerichtet werden sollen. Einige Architekturen erlauben keinen unausgerichteten Speicherzugriff. | 
| `CONSTRAINED_DEVICE` | Boolesch | OFF | Non-Windows nur.  Wenn ON, wird die Thread-Stack-Größe auf festgelegt0.5 MiB. Wird für [ Alpine ](https://wiki.alpinelinux.org/wiki/Main_Page) Linux-Builds benötigt. Andernfalls wird die Standardeinstellung des Betriebssystems verwendet. | 
| `BUILD_STATIC` | Boolesch | OFF | Erstellen Sie Bibliotheken und ausführbare Dateien als [ gemeinsam genutzte ](https://en.wikipedia.org/wiki/Shared_library) (OFF) oder [ statische ](https://en.wikipedia.org/wiki/Static_library) (ON). | 
| `ADD_MUCLIBC` | Boolesch | OFF | Verlinken Sie auf [ uClibc ](https://en.wikipedia.org/wiki/UClibc) statt auf die Standard-C-Bibliothek, bei der es sich um eine kleinere C-Standardbibliothek handelt, die für eingebettete Systeme entwickelt wurde. | 
| `OPEN_SRC_INSTALL_PREFIX` | Zeichenfolge | .. /öffnen- source/local | Ort, an dem die Open-Source-Abhängigkeiten installiert werden, wenn sie aus dem Quellcode erstellt werden. | 

**Flaggen für die Kreuzkompilierung **

**Wichtig**  
Setzen Sie diese, wenn die CPU-Architekturen Ihres Ziel- und Hostcomputers unterschiedlich sind.


| CMake-Argument | Typ | Standard | Erklärung | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` | Zeichenfolge | "" | Erstellen Sie die log4cplus Abhängigkeit für die angegebene CPU-Architektur. Wenn nicht gesetzt, log4cplus wird die CPU-Architektur des Host-Computers automatisch erkannt und verwendet. | 
| `BUILD_OPENSSL_PLATFORM` | Zeichenfolge | "" | Erstellen Sie die OpenSSL Abhängigkeit für die angegebene CPU-Architektur. Wenn nicht gesetzt, OpenSSL wird die CPU-Architektur des Host-Computers automatisch erkannt und verwendet. | 

**Flaggen im Zusammenhang mit dem Testen **


| CMake-Argument | Typ | Standard | Erklärung | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | Boolesch | OFF | Erstellen Sie die Einheit und die Integrationstests. Um alle Tests auszuführen, führen Sie sie ./tst/producerTest aus dem Build-Verzeichnis aus. AWS Für die Ausführung der Tests sind Anmeldeinformationen erforderlich. | 
| `CODE_COVERAGE` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Aktivieren Sie die Erfassung der Codeabdeckung mit [ gcov ](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) und die Berichtsgenerierung. | 
| `COMPILER_WARNINGS` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Aktiviert alle Compiler-Warnungen. | 
| `ADDRESS_SANITIZER` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Bauen Sie mit [ AddressSanitizer](https://compiler-rt.llvm.org/). | 
| `MEMORY_SANITIZER` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Bauen Sie mit [ MemorySanitizer](https://compiler-rt.llvm.org/). | 
| `THREAD_SANITIZER` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Bauen Sie mit [ ThreadSanitizer](https://compiler-rt.llvm.org/). | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | Boolesch | OFF | Nur für GNU/Clang Compiler verfügbar. Bauen Sie mit [ UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/). | 

Um diese CMake-Argumente zu verwenden, übergeben Sie sie nach dem Befehl als durch Leerzeichen getrennte Liste von `-D{{key}}={{value}}` Paaren. `cmake ..` Beispiel:

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

CMake sucht nach der Compiler-Toolchain, indem es der Variablen folgt. `$PATH` Stellen Sie vor dem Ausführen von CMake die `CXX` Umgebungsvariablen `CC` und so ein, dass die Toolchain, die für die Cross-Compilierung verwendet werden soll, explizit festgelegt wird.