

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Windows AWS SDK for C\$1\$1 での の構築
<a name="setup-windows"></a>

を設定するには AWS SDK for C\$1\$1、ソースから直接 SDK を構築するか、パッケージマネージャーを使用してライブラリをダウンロードします。



SDK のソースはサービスごとに個別のパッケージに分割されています。SDK 全体のインストールには最大 1 時間かかる場合があります。プログラムで使用する特定のサービスのみをインストールすれば、インストール時間を短縮でき、ディスクのサイズも抑えられます。インストールするサービスを選択するには、プログラムが使用する各サービスのパッケージ名を把握しておく必要があります。パッケージディレクトリのリストは、GitHub の [https://github.com/aws/aws-sdk-cpp](https://github.com/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
```

## 前提条件
<a name="prerequisites"></a>

大規模な AWS クライアントの一部を構築するには、4 GB 以上の RAM が必要です。SDK は、*t2.micro*、*t2.small* など Amazon EC2 の小規模インスタンスタイプで、メモリ不足のためビルドに失敗する可能性があります。

を使用するには AWS SDK for C\$1\$1、次のいずれかが必要です。
+ Microsoft Visual Studio 2015 以降、
+  GNU Compiler Collection (GCC) 4.9 以降、または 
+  Clang 3.3 以降。

## curl を使用した SDK for Windows のビルド
<a name="build-curl-id"></a>

Windows では、SDK はデフォルトの HTTP クライアントとして [WinHTTP](https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925%28v=vs.85%29.aspx) を使用してビルドされます。ただし、WinHTTP 1.0 は HTTP/2 双方向ストリーミングをサポートしていません。これは、Amazon Transcribe や Amazon Lex AWS のサービス などの一部の で必要です。そのため、SDK に curl サポートを組み込んでビルドすることが必要になる場合があります。curl の使用可能なすべてのダウンロードオプションを確認するには、「[curl Releases and Downloads](https://curl.se/download.html)」を参照してください。curl サポートを組み込んで SDK をビルドする 1 つの方法は次のとおりです。

**curl ライブラリサポートを組み込んで SDK をビルドするには**

1. 「[curl for Windows](https://curl.se/windows/)」にアクセスし、Microsoft Windows 用の curl バイナリパッケージをダウンロードします。

1. パッケージをコンピュータ上のフォルダ (例: `C:\curl`) に解凍します。

1. 「[CA certificates extracted from Mozilla](http://curl.haxx.se/docs/caextract.html)」にアクセスし、`cacert.pem` ファイルをダウンロードします。この Privacy Enhanced Mail (PEM) ファイルには、安全な Web サイトの信頼性を検証するために使用される有効なデジタル証明書のバンドルが含まれています。証明書は GlobalSign や Verisign などの認証局 (CA) 企業によって発行されています。

1. その `cacert.pem` ファイルを、先ほど展開した `bin` サブフォルダ (例: `C:\curl\bin`) に移動します。そのファイルの名前を `curl-ca-bundle.crt` に変更します。

また、以降の手順で Microsoft Build Engine (MSBuild) が curl の `dll` を見つけられる必要があります。そのため、curl の `bin` フォルダパスを Windows の `PATH` 環境変数 (例: `set PATH=%PATH%;C:\curl\bin`) に追加します。SDK をビルドする新しいコマンドプロンプトを開くたびに、この設定を追加する必要があります。あるいは、この設定が記憶されるように、Windows のシステム設定で環境変数をグローバルに設定することもできます。

以降の手順で *SDK をソースからビルドする*際には、ステップ 5 (ビルドファイルの生成) を参照して、curl を組み込むために必要なコマンド構文を確認してください。

コードを書く際には、`caFile` の中で [コード内での AWS SDK for C\$1\$1 サービスクライアントの設定](client-config.md) を証明書ファイルのパスに設定する必要があります。Amazon Transcribe の使用例については、GitHub の [`transcribe-streaming` コードサンプルリポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/transcribe-streaming)で「*AWS *」を参照してください。

## ソースからの SDK のビルド
<a name="setup-windows-from-source"></a>

コマンドラインツールを使用して、ソースから SDK をビルドできます。この方法では、SDK ビルドをカスタマイズできます。使用可能なオプションについては、「[CMake のパラメータ](cmake-params.md)」を参照してください。主なステップは 3 つです。まず、CMake を使用してファイルをビルドします。次に、MSBuild を使用して、オペレーティングシステムとビルドツールチェーンに対応した SDK バイナリをビルドします。最後に、そのバイナリを開発マシン上の適切な場所にインストールまたはコピーします。

**SDK をソースからビルドするには**

1. [CMake](https://cmake.org/) (バージョン 3.13 以上) と、プラットフォームに関連するビルドツールをインストールします。`cmake` を `PATH` に追加することをお勧めします。CMake のバージョンを確認するには、コマンドプロンプトを開き、コマンド **cmake --version** を実行します。

1. コマンドプロンプトで、SDK を保存するフォルダに移動します。

1. 最新のソースコードを取得します。

   バージョン 1.11 では、git サブモジュールを使用して外部依存関係をラップしています。これには、「*AWS SDK とツールのリファレンスガイド*」に記載されている [CRT ライブラリ](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)が含まれています。

   GitHub の [https://github.com/aws/aws-sdk-cpp](https://github.com/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
     ```

1. 生成されたビルドファイルは、SDK ソースディレクトリの外部に保存することをお勧めします。ビルドファイルを保存するための新しいディレクトリを作成し、そのフォルダに移動します。

   ```
   mkdir sdk_build
   cd sdk_build
   ```

1. `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 のパラメータ](cmake-params.md)」を参照してください。

   ビルドファイルを生成するには、次のいずれかを実行します。
   + **ビルドファイルを生成する (すべて AWS のサービス)**: SDK 全体を構築するには、*デバッグ*バージョンと*リリース*バージョンのどちらを構築するかを指定して cmake を実行します。例えば、次のようになります。

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

     
   + **ビルドファイルを生成する ( AWS のサービスの一部)**: SDK の特定のサービスまたはサービスパッケージのみをビルドするには、[BUILD\$1ONLY](cmake-params.md#cmake-build-only) パラメータでサービス名をセミコロンで区切って指定して CMake を実行します。次の例では、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 の前提条件を満たした後、curl サポートを SDK に組み込むには、追加で [FORCE\$1CURL](cmake-params.md#cmake-force-curl)、[CURL\$1INCLUDE\$1DIR](cmake-params.md#cmake-curl-include-dir)、[CURL\$1LIBRARY](cmake-params.md#cmake-curl-library) の 3 つの cmake コマンドオプションが必要です。例えば、次のようになります。

     ```
     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 以上を使用する必要があります。

1. SDK のバイナリをビルドします。SDK の全体をビルドする場合、この処理には 1 時間以上かかることがあります。コマンド構文 

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

   ```
   cmake --build . --config=Debug
   ```
**注記**  
「The code execution cannot proceed ... dll not found. Reinstalling the program may fix this problem.」というエラーが発生した場合は、`cmake` コマンドを再度実行します。

1. **管理者**権限でコマンドプロンプトを開き、先ほど `CMAKE_PREFIX_PATH` パラメータを使用して指定した場所に SDK をインストールします。コマンド構文 

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

   ```
   cmake --install . --config=Debug
   ```

## Windows での Android 向けのビルド
<a name="building-for-android"></a>

Android 向けにビルドするには、`-DTARGET_ARCH=ANDROID` コマンドラインに `cmake` を追加します。 AWS SDK for C\$1\$1 には、適切な環境変数 () を参照して必要なものを含む CMake ツールチェーンファイルが含まれています`ANDROID_NDK`。

Windows で SDK for Android をビルドするには、Visual Studio (2015 以降) のデベロッパーコマンドプロンプトから `cmake` を実行する必要があります。また、[NMAKE](https://docs.microsoft.com/en-us/cpp/build/reference/nmake-reference?view=msvc-160) がインストールされており、パスにコマンド **`git`** と **`patch`** が含まれている必要があります。Windows システムに Git がインストールされている場合、通常 **`patch`** は隣接するディレクトリ (`.../Git/usr/bin/`) にあります。これらの要件を確認したら、`cmake` のコマンドラインを少し変更して NMAKE を使用するようにします。

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

NMAKE は直列にビルドを行います。より高速にビルドを行うには、NMAKE の代わりに JOM をインストールし、`cmake` の呼び出しを次のように変更することをお勧めします。

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

アプリケーションの例については、「 [を使用した Android アプリケーションのセットアップ AWS SDK for C\$1\$1](https://aws.amazon.com/blogs/developer/setting-up-an-android-application-with-aws-sdk-for-c/)」を参照してください。