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 クライアントをビルドするには、最低でも 4 GB の RAM が必要です。SDK は、t2.microt2.small など Amazon EC2 の小規模インスタンスタイプで、メモリ不足のためビルドに失敗する可能性があります。

AWS SDK for C++ を使用するには、次のいずれかが必要です。

  • GNU Compiler Collection (GCC) 4.9 以降、または

  • Clang 3.3 以降。

Linux システムの追加要件

libcurllibopenssllibuuidzlib、および (オプションで) Amazon Polly サポート用の libpulse のヘッダーファイル (-dev パッケージ) が必要です。パッケージはシステムのパッケージマネージャーで入手できます。

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 全体をビルドするには、Debug または Release バージョンを指定して cmake を実行します。例:

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

    • ビルドファイルを生成する (AWS のサービス の一部): SDK の特定のサービスまたはサービスパッケージのみをビルドするには、BUILD_ONLY パラメータでサービス名をセミコロンで区切って指定して CMake を実行します。次の例では、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 向けにビルドするには、-DTARGET_ARCH=ANDROID コマンドラインに cmake を追加します。AWS SDK for C++ には、適切な環境変数 (ANDROID_NDK) を参照して必要なものを追加する CMake ツールチェーンファイルが含まれています。アプリケーションの例については、「AWS SDK for C++ を使用した Android アプリケーションの設定」を参照してください。