Windows에서 AWS SDK for C++ 빌드 - AWS SDK for C++

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

Windows에서 AWS SDK for C++ 빌드

AWS SDK for C++를 설정하려면 소스에서 직접 SDK를 빌드하거나 패키지 관리자를 사용하여 라이브러리를 다운로드 할 수 있습니다.

SDK 소스는 서비스별로 개별 패키지로 구분됩니다. 전체 SDK를 설치하는 데 최대 1시간이 걸릴 수 있습니다. 프로그램에서 사용하는 특정 서비스 하위 집합만 설치하면 설치 시간이 단축되고 디스크 공간도 절약됩니다. 설치할 서비스를 선택하려면 프로그램에서 사용하는 각 서비스의 패키지 이름을 알아야 합니다. 패키지 디렉터리 목록은 GitHub의 aws/aws-sdk-cpp에서 확인할 수 있습니다. 패키지 이름은 서비스 디렉터리 이름의 접미사입니다.

aws-sdk-cpp\aws-cpp-sdk-<packageName> # Repo directory name and packageName aws-sdk-cpp\aws-cpp-sdk-s3 # Example: Package name is s3

사전 조건

일부 대형 AWS 클라이언트를 빌드하려면 최소 4GB의 RAM이 필요합니다. Amazon EC2 인스턴스 유형 t2.micro, t2.small 및 기타 소형 인스턴스 유형에서는 메모리 부족으로 인해 SDK 빌드가 실패할 수 있습니다.

AWS SDK for C++를 사용하려면 다음 중 하나가 필요합니다.

  • Microsoft Visual Studio 2015 이후 버전

  • GNU Compiler Collection(GCC) 4.9 이상

  • Clang 3.3 이후 버전

Windows에서 SDK는 WinHTTP를 기본 HTTP 클라이언트로 사용하여 빌드됩니다. 그러나 WinHTTP 1.0은 Amazon Transcribe 및 Amazon Lex와 같은 일부 AWS 서비스에 필요한 HTTP/2 양방향 스트리밍을 지원하지 않습니다. 따라서 SDK에 curl 지원을 추가하여 빌드해야 하는 경우가 있습니다. 사용 가능한 모든 curl 다운로드 옵션을 보려면 curl Releases and Downloads를 참조하세요. SDK에 curl 지원을 추가하여 빌드하는 한 가지 방법은 다음과 같습니다.

curl 라이브러리 지원을 포함하여 SDK를 빌드하려면
  1. curl for Windows로 이동하여 Microsoft Windows용 curl 바이너리 패키지를 다운로드합니다.

  2. 컴퓨터의 폴더(예: C:\curl)에 패키지의 압축을 풉니다.

  3. CA certificates extracted from Mozilla로 이동하여 cacert.pem 파일을 다운로드합니다. 이 Privacy Enhanced Mail(PEM) 파일에는 보안 웹 사이트의 신뢰성을 검증하는 데 사용되는 유효한 디지털 인증서의 번들 포함되어 있습니다. 인증서는 GlobalSign 및 Verisign과 같은 인증 기관(CA)에서 배포합니다.

  4. cacert.pem 파일을 이전 단계에서 압축을 푼 bin 하위 폴더(예: C:\curl\bin)로 이동합니다. 파일 이름을 curl-ca-bundle.crt로 변경합니다.

또한 다음 절차에서도 Microsoft Build Engine(MSBuild)이 curl dll을 찾을 수 있어야 합니다. 따라서와 같은 Windows PATH 환경 변수에 curl bin 폴더 경로를 추가해야 합니다(예: set PATH=%PATH%;C:\curl\bin). SDK를 빌드하기 위해 새 명령 프롬프트를 열 때마다 이를 추가해야 합니다. 또는 Windows 시스템 설정에서 환경 변수를 전역적으로 설정하여 설정이 유지되도록 할 수도 있습니다.

다음 절차에 따라 소스에서 SDK를 빌드할 경우 SDK에 curl을 빌드하는 데 필요한 명령 구문은 5단계(빌드 파일 생성)를 참조하세요.

코드를 작성할 때 코드에서 AWS SDK for C++ 서비스 클라이언트 구성에서 caFile을 인증서 파일의 위치로 설정해야 합니다. Amazon Transcribe를 사용한 예제는 GitHub의 AWS 코드 예제 리포지토리에서 transcribe-streaming 섹션을 참조하세요.

소스에서 SDK 빌드

명령줄 도구를 사용하여 소스에서 SDK를 빌드할 수 있습니다. 이 방법을 사용하면 SDK 빌드를 사용자 지정할 수 있습니다. 사용 가능한 옵션에 대한 자세한 내용은 CMake 파라미터를 참조하세요. 주요 단계는 세 가지입니다. 첫째, CMake를 사용하여 파일을 빌드합니다. 둘째, MSBuild를 사용하여 운영 체제 및 빌드 도구 체인과 호환되는 SDK 바이너리를 빌드합니다. 셋째, 개발 시스템의 올바른 위치에 바이너리를 설치하거나 복사합니다.

소스에서 SDK를 빌드하려면
  1. CMake(최소 버전 3.13)와 해당 플랫폼용 관련 빌드 도구를 설치합니다. cmakePATH에 추가하는 것이 좋습니다. CMake 버전을 확인하려면 명령 프롬프트를 열고 cmake --version 명령을 실행합니다.

  2. 명령 프롬프트에서 SDK를 저장할 폴더로 이동합니다.

  3. 최신 소스 코드를 가져옵니다.

    버전 1.11의 경우 외부 종속성을 래핑하는 데 git 하위 모듈을 사용합니다. 여기에는 AWS SDK 및 도구 참조 안내서에 설명된 CRT 라이브러리가 포함됩니다.

    GitHub의 aws/aws-sdk-cpp에서 SDK 소스를 다운로드하거나 복제합니다.

    • Git으로 복제: HTTPS

      git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
    • Git으로 복제: SSH

      git clone --recurse-submodules git@github.com:aws/aws-sdk-cpp.git
  4. 생성된 빌드 파일은 SDK 소스 디렉터리 외부에 저장하는 것이 좋습니다. 빌드 파일을 저장할 새 디렉터리를 생성하고 해당 폴더로 이동합니다.

    mkdir sdk_build cd sdk_build
  5. cmake를 실행하여 빌드 파일을 생성합니다. cmake 명령줄에서 디버그 또는 릴리스 버전을 빌드할지 여부를 지정합니다. 이 절차 전체에서 Debug를 선택하면 애플리케이션 코드의 디버그 구성이 실행됩니다. 이 절차 전체에서 Release를 선택하면 애플리케이션 코드의 릴리스 구성이 실행됩니다. Windows의 경우 SDK 설치 위치는 일반적으로 \Program Files (x86)\aws-cpp-sdk-all\입니다. 명령 구문:

    {path to cmake if not in PATH} {path to source location of aws-sdk-cpp} -DCMAKE_BUILD_TYPE=[Debug | Release] -DCMAKE_PREFIX_PATH={path to install destination}

    빌드 출력을 수정하는 자세한 방법은 CMake 파라미터를 참조하세요.

    빌드 파일을 생성하려면 다음 중 하나를 수행합니다.

    • 빌드 파일 생성(모든 AWS 서비스): 전체 SDK를 빌드하려면 cmake를 실행하고 디버그 또는 릴리스 버전을 빌드할지 여부를 지정합니다. 예:

      cmake "..\aws-sdk-cpp" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"

    • 빌드 파일 생성(AWS 서비스 하위 집합): SDK의 특정 서비스 또는 서비스 패키지만 빌드하려면 CMake BUILD_ONLY 파라미터를 추가하고, 서비스 이름은 세미콜론으로 구분합니다. 다음 예제는 Amazon S3 서비스 패키지만 빌드합니다.

      cmake ..\aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DBUILD_ONLY="s3" -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
    • 빌드 파일 생성(curl 사용): curl 사전 조건을 완료한 후 SDK에 curl 지원을 포함하려면 세 가지 추가 cmake 명령줄 옵션인 FORCE_CURL, CURL_INCLUDE_DIR, CURL_LIBRARY가 필요합니다. 예:

      cmake ..\aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DFORCE_CURL=ON -DCURL_INCLUDE_DIR='C:/curl/include' -DCURL_LIBRARY='C:/curl/lib/libcurl.dll.a' -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
    참고

    Failed to build third-party libraries 오류가 발생하면 cmake --version을 실행하여 CMake 버전을 확인합니다. CMake 버전은 최소 3.13 이상을 사용해야 합니다.

  6. SDK 바이너리를 빌드합니다. 전체 SDK를 빌드하는 경우 이 단계에 1시간 이상 소요될 수 있습니다. 명령 구문:

    {path to cmake if not in PATH} --build . --config=[Debug | Release]

    cmake --build . --config=Debug
    참고

    코드 실행을 진행할 수 없습니다. dll을 찾을 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다." 오류가 발생할 경우 cmake 명령을 다시 시도하세요.

  7. 관리자 권한으로 명령 프롬프트를 열어 CMAKE_PREFIX_PATH 파라미터를 사용하여 앞서 지정한 위치에 SDK를 설치합니다. 명령 구문:

    {path to cmake if not in PATH} --install . --config=[Debug | Release]

    cmake --install . --config=Debug

Windows에서 Android용 빌드

Android용 빌드를 수행하려면 cmake 명령줄에 -DTARGET_ARCH=ANDROID를 추가합니다. AWS SDK for C++에는 적절한 환경 변수(ANDROID_NDK)를 참조하여 필요한 항목을 제공하는 CMake 도구 체인 파일이 포함되어 있습니다.

Windows에서 Android용 SDK를 빌드하려면 Visual Studio(2015 이상) 개발자 명령 프롬프트에서 cmake를 실행해야 합니다. 또한 NMAKE가 설치되어 있어야 하며, 경로에 gitpatch 명령이 포함되어 있어야 합니다. Windows 시스템에 git이 설치되어 있다면 patch는 일반적으로 형제 디렉터리(예: .../Git/usr/bin/)에서 찾을 수 있습니다. 이러한 요구 사항을 확인한 후에는 NMAKE를 사용하기 위해 cmake 명령줄이 약간 변경됩니다.

cmake -G "NMake Makefiles" `-DTARGET_ARCH=ANDROID` <other options> ..

NMAKE는 순차적으로 빌드합니다. 더 빠르게 빌드하려면 NMAKE 대신 JOM을 설치하고, 다음과 같이 cmake 간접 호출을 변경하는 것이 좋습니다.

cmake -G "NMake Makefiles JOM" `-DTARGET_ARCH=ANDROID` <other options> ..

예제 애플리케이션은 Setting up an Android application with AWS SDK for C++를 참조하세요.