

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Unduh dan konfigurasikan kode pustaka produser C\+\+
<a name="producersdk-cpp-download"></a>

Untuk informasi tentang cara mengunduh dan mengonfigurasi pustaka produser C\+\+, lihat [Amazon Kinesis Video Streams CPP Producer, Plugin GStreamer](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp), dan JNI.

Untuk prasyarat dan informasi lebih lanjut tentang contoh ini, lihat. [Gunakan pustaka produser C \+\+](producer-sdk-cpp.md)

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

Di bawah ini adalah tabel referensi untuk argumen C\+\+ Producer SDK-specific CMake. Anda juga dapat meneruskan [opsi CMake standar](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) ke CMake juga.

**penting**  
Ini semua opsional.

**Bendera untuk menyertakan atau mengecualikan fitur tertentu**


| Argumen CMake | Tipe | Default | Penjelasan | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | Boolean | PADA | Membangun dependensi dari sumber. Jika tidak, gunakan dependensi yang sudah diinstal pada sistem. Jika salah satu dependensi yang diperlukan tidak dapat ditemukan, kesalahan akan dikembalikan. | 
| `BUILD_GSTREAMER_PLUGIN` | Boolean | MATI | Membangun plugin kvssink GStreamer. | 
| `BUILD_JNI` | Boolean | MATI | Membangun Java Native Interface (JNI) untuk dapat memanggil kode ini dari lingkungan runtime Java. | 
| `ALIGNED_MEMORY_MODEL` | Boolean | MATI | Jika alokasi memori harus disejajarkan dengan batas 8-byte. Beberapa arsitektur tidak mengizinkan akses memori yang tidak selaras. | 
| `CONSTRAINED_DEVICE` | Boolean | MATI | Non-Windows hanya. Saat ON, atur ukuran tumpukan utas ke0.5 MiB. Diperlukan untuk build [Alpine Linux](https://wiki.alpinelinux.org/wiki/Main_Page). Jika tidak, default sistem operasi digunakan. | 
| `BUILD_STATIC` | Boolean | MATI | Bangun pustaka dan executable sebagai [shared](https://en.wikipedia.org/wiki/Shared_library) (OFF), atau [static](https://en.wikipedia.org/wiki/Static_library) (ON). | 
| `ADD_MUCLIBC` | Boolean | MATI | Tautkan ke [UCLibc](https://en.wikipedia.org/wiki/UClibc) bukan pustaka C standar, yang merupakan pustaka standar C yang lebih kecil yang dirancang untuk sistem tertanam. | 
| `OPEN_SRC_INSTALL_PREFIX` | String | .. /terbuka- source/local | Lokasi untuk menginstal dependensi sumber terbuka, jika membangun dari sumber. | 

**Bendera untuk kompilasi silang**

**penting**  
Tetapkan ini jika arsitektur CPU mesin target dan host Anda berbeda.


| Argumen CMake | Tipe | Default | Penjelasan | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` | String | "" | Membangun log4cplus dependensi untuk arsitektur CPU yang ditentukan. Jika tidak diatur, log4cplus akan otomatis mendeteksi dan menggunakan arsitektur CPU mesin host. | 
| `BUILD_OPENSSL_PLATFORM` | String | "" | Membangun OpenSSL dependensi untuk arsitektur CPU yang ditentukan. Jika tidak diatur, OpenSSL akan otomatis mendeteksi dan menggunakan arsitektur CPU mesin host. | 

**Bendera yang terkait dengan pengujian**


| Argumen CMake | Tipe | Default | Penjelasan | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | Boolean | MATI | Bangun unit dan tes integrasi. Untuk menjalankan semua pengujian, jalankan ./tst/producerTest dari direktori build. AWS Kredensi diperlukan untuk menjalankan tes. | 
| `CODE_COVERAGE` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Aktifkan pengumpulan cakupan kode dengan [gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) dan pembuatan laporan. | 
| `COMPILER_WARNINGS` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Aktifkan semua peringatan kompiler. | 
| `ADDRESS_SANITIZER` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Membangun dengan [AddressSanitizer](https://compiler-rt.llvm.org/). | 
| `MEMORY_SANITIZER` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Membangun dengan [MemorySanitizer](https://compiler-rt.llvm.org/). | 
| `THREAD_SANITIZER` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Membangun dengan [ThreadSanitizer](https://compiler-rt.llvm.org/). | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | Boolean | MATI | Hanya tersedia untuk GNU/Clang kompiler. Membangun dengan [UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/). | 

Untuk menggunakan argumen CMake ini, berikan mereka sebagai daftar `-D{{key}}={{value}}` pasangan yang dipisahkan spasi mengikuti perintah. `cmake ..` Contoh:

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

CMake akan mencari toolchain compiler dengan mengikuti variabel. `$PATH` Sebelum menjalankan CMake, atur variabel `CC` dan `CXX` lingkungan untuk secara eksplisit mengatur toolchain yang akan digunakan untuk kompilasi silang.