Linux/macOS에서 AWS SDK for C++ 빌드 - AWS SDK for C++

Linux/macOS에서 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++를 사용하려면 다음 중 하나가 필요합니다.

  • GNU Compiler Collection(GCC) 4.9 이상

  • Clang 3.3 이후 버전

Linux 시스템의 추가 요구 사항

libcurl, libopenssl, libuuid, zlib용 헤더 파일(-dev 패키지)이 반드시 필요하며 Amazon Polly 지원을 위해 선택적으로 libpulse도 필요합니다. 시스템의 패키지 관리자를 사용하여 패키지를 찾을 수 있습니다.

Debian/Ubuntu 기반 시스템에 패키지를 설치하려면
  • sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev
Amazon Linux/Redhat/Fedora/CentOS 기반 시스템에 패키지를 설치하려면
  • sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel

소스에서 SDK 빌드

vcpkg를 사용하는 대신 명령줄 도구를 사용하여 소스에서 SDK를 빌드할 수 있습니다. 이 방법을 사용하면 SDK 빌드를 사용자 지정할 수 있습니다. 사용 가능한 옵션에 대한 자세한 내용은 CMake 파라미터를 참조하세요.

소스에서 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를 선택하면 애플리케이션 코드의 릴리스 구성이 실행됩니다. 명령 구문:

    {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} -DCMAKE_INSTALL_PREFIX={path to install}

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

    참고

    대/소문자를 구분하지 않는 파일 시스템을 사용하여 Mac에서 빌드할 경우 빌드를 실행하는 디렉터리에서 pwd 명령의 출력을 확인합니다. pwd 출력에 /UsersDocuments와 같이 디렉터리 이름이 대소문자를 혼용하여 표시되는지 확인합니다.

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

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

      cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/

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

      cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3"
    참고

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

  6. SDK 바이너리를 빌드합니다. 전체 SDK를 빌드하는 경우 이 작업에 1시간 이상 소요될 수 있습니다.

    cmake --build . --config=Debug
  7. SDK를 설치합니다. 설치하기로 선택한 위치에 따라 권한을 에스컬레이션해야 할 수 있습니다.

    cmake --install . --config=Debug

Linux에서 Android용 빌드

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