

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# C\+\+ 생산자 라이브러리 코드 다운로드 및 구성
<a name="producersdk-cpp-download"></a>

C\+\+ 생산자 라이브러리를 다운로드하고 구성하는 방법에 대한 자세한 내용은 [Amazon Kinesis Video Streams CPP 생산자, GStreamer 플러그인 및 JNI](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)를 참조하세요.

이 예제에 대한 사전 조건 및 자세한 내용은 섹션을 참조하세요[C\+\+ 생산자 라이브러리 사용](producer-sdk-cpp.md).

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

다음은 C\+\+ 생산자 SDK별 CMake 인수에 대한 참조 테이블입니다. [표준 CMake 옵션을](https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html) CMake에 전달할 수도 있습니다.

**중요**  
모두 선택 사항입니다.

**특정 기능을 포함하거나 제외하기 위한 플래그**


| CMake 인수 | Type | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| `BUILD_DEPENDENCIES` | 부울 | ON | 소스에서 종속성을 빌드합니다. 그렇지 않으면 시스템에 이미 설치된 종속성을 사용합니다. 필요한 종속성 중 하나를 찾을 수 없는 경우 오류가 반환됩니다. | 
| `BUILD_GSTREAMER_PLUGIN` | 부울 | OFF | kvssink GStreamer 플러그인을 빌드합니다. | 
| `BUILD_JNI` | 부울 | OFF | Java 런타임 환경에서이 코드를 호출할 수 있도록 Java 네이티브 인터페이스(JNI)를 빌드합니다. | 
| `ALIGNED_MEMORY_MODEL` | 부울 | OFF | 메모리 할당을 8바이트 경계에 맞춰야 하는 경우. 일부 아키텍처는 정렬되지 않은 메모리 액세스를 허용하지 않습니다. | 
| `CONSTRAINED_DEVICE` | 부울 | OFF | Windows 이외 전용. ON일 때 스레드 스택 크기를 로 설정합니다0.5 MiB. [Alpine Linux](https://wiki.alpinelinux.org/wiki/Main_Page) 빌드에 필요합니다. 그렇지 않으면 운영 체제 기본값이 사용됩니다. | 
| `BUILD_STATIC` | 부울 | OFF | 라이브러리와 실행 파일을 [공유](https://en.wikipedia.org/wiki/Shared_library)(OFF) 또는 [정적](https://en.wikipedia.org/wiki/Static_library)(ON)으로 빌드합니다. | 
| `ADD_MUCLIBC` | 부울 | OFF | 임베디드 시스템용으로 설계된 더 작은 C 표준 라이브러리인 표준 C 라이브러리 대신 [uClibc](https://en.wikipedia.org/wiki/UClibc)에 연결합니다. | 
| `OPEN_SRC_INSTALL_PREFIX` | 문자열 | ../오픈 소스/로컬 | 소스에서 빌드하는 경우 오픈 소스 종속성을 설치할 위치입니다. | 

**교차 컴파일을 위한 플래그**

**중요**  
대상 및 호스트 머신 CPU 아키텍처가 다른 경우 이를 설정합니다.


| CMake 인수 | Type | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| `BUILD_LOG4CPLUS_HOST` | 문자열 | "" | 지정된 CPU 아키텍처에 대한 log4cplus 종속성을 구축합니다. 설정하지 않으면 log4cplus가 호스트 시스템의 CPU 아키텍처를 자동으로 감지하고 사용합니다. | 
| `BUILD_OPENSSL_PLATFORM` | 문자열 | "" | 지정된 CPU 아키텍처에 대한 OpenSSL 종속성을 구축합니다. 설정하지 않으면 OpenSSL가 호스트 시스템의 CPU 아키텍처를 자동으로 감지하고 사용합니다. | 

**테스트와 관련된 플래그**


| CMake 인수 | Type | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| `BUILD_TEST` | 부울 | OFF | 단위 및 통합 테스트를 빌드합니다. 모든 테스트를 실행하려면 빌드 디렉터리./tst/producerTest에서를 실행합니다. AWS 테스트를 실행하려면 자격 증명이 필요합니다. | 
| `CODE_COVERAGE` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. [gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) 및 보고서 생성을 통해 코드 적용 범위 수집을 활성화합니다. | 
| `COMPILER_WARNINGS` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. 모든 컴파일러 경고를 활성화합니다. | 
| `ADDRESS_SANITIZER` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. [AddressSanitizer](https://compiler-rt.llvm.org/)로 빌드합니다. | 
| `MEMORY_SANITIZER` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. [MemorySanitizer](https://compiler-rt.llvm.org/)를 사용하여 빌드합니다. | 
| `THREAD_SANITIZER` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. [ThreadSanitizer](https://compiler-rt.llvm.org/)로 빌드합니다. | 
| `UNDEFINED_BEHAVIOR_SANITIZER` | 부울 | OFF | GNU/Clang 컴파일러에만 사용할 수 있습니다. [UndefinedBehaviorSanitizer](https://compiler-rt.llvm.org/)를 사용하여 빌드합니다. | 

이러한 CMake 인수를 사용하려면 `cmake ..` 명령에 따라 공백으로 구분된 `-D{{key}}={{value}}` 페어 목록으로 전달합니다. 예제:

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

CMake는 `$PATH` 변수에 따라 컴파일러 도구 체인을 찾습니다. CMake를 실행하기 전에 교차 컴파일에 사용할 도구 체인을 명시적으로 설정하도록 `CC` 및 `CXX` 환경 변수를 설정합니다.