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를 빌드하려면
-
CMake
(최소 버전 3.13)와 해당 플랫폼용 관련 빌드 도구를 설치합니다. cmake는PATH에 추가하는 것이 좋습니다. CMake 버전을 확인하려면 명령 프롬프트를 열고cmake --version명령을 실행합니다. -
명령 프롬프트에서 SDK를 저장할 폴더로 이동합니다.
-
최신 소스 코드를 가져옵니다.
버전 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
-
-
생성된 빌드 파일은 SDK 소스 디렉터리 외부에 저장하는 것이 좋습니다. 빌드 파일을 저장할 새 디렉터리를 생성하고 해당 폴더로 이동합니다.
mkdirsdk_buildcdsdk_build -
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출력에/Users및Documents와 같이 디렉터리 이름이 대소문자를 혼용하여 표시되는지 확인합니다.빌드 파일을 생성하려면 다음 중 하나를 수행합니다.
-
빌드 파일 생성(모든 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 이상을 사용해야 합니다. -
-
SDK 바이너리를 빌드합니다. 전체 SDK를 빌드하는 경우 이 작업에 1시간 이상 소요될 수 있습니다.
cmake --build . --config=Debug -
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++