

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

# AWS SDK for C\$1\$1 コード例の開始方法
<a name="getting-started-code-examples"></a>

## コード例の構造
<a name="structure"></a>

Github の [C\$1\$1 サンプルフォルダ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code)には、各 AWS サービスのプロジェクトフォルダが含まれています。通常、フォルダ内の個々の .cpp ソースファイルは、そのサービスの特定の機能またはアクションを示しています。例えば、Amazon DynamoDB の場合、データベースからの項目の*取得*とデータベースへの項目の*アップロード*は 2 つの異なるタイプのアクションであるため、DynamoDB フォルダにはそれぞれに個別のファイル (`get_item.cpp` と `put_item.cpp`) があります。各 .cpp ファイルには、スタンドアロン実行可能ファイルのエントリポイントとなる `main()` 関数が含まれています。プロジェクトの実行可能ファイルはビルドシステムによって指定されたフォルダに生成され、サンプルソースファイルごとに 1 つの実行可能ファイルがあります。実行可能ファイルの名前は、プラットフォームの慣習 (`{name}.exe`、単に `{name}` など) や、`CMakeLists.txt` に適用されるカスタムプレフィックス (`run_` など) に従います。

**コード例の機能を実行するには**

1. GitHub の [AWS コードサンプルリポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code)から必要なコード例をダウンロードします。

1. .cpp ファイルを開き、その `main()` 関数および呼び出されるメソッドを確認します。

1. 「[AWS SDK for C\$1\$1の開始方法](getting-started.md)」にある開始例に従ってプロジェクトをビルドします。ビルドすると、プロジェクト内の各ソースファイルに対応する実行可能ファイルが生成されます。

1. 選択した機能の実行可能ファイルを実行します。
   + コマンドプロンプトで、`*.cpp` ファイルの名前に基づいた実行可能ファイルを使用して、そのプログラムを実行します。
   + IDE 内で作業している場合は、デモンストレーションする機能の `.cpp` ファイルを選択し、スタートアップオプション (またはスタートアップオブジェクト) に設定します。

### ユニットテスト
<a name="unittest"></a>

コード例のテストは GoogleTest フレームワークを使用して記述されています。詳細については、GoogleTest ウェブサイトの「[GoogleTest Primer](https://google.github.io/googletest/primer.html)」を参照してください。

各コード例のユニットテストは、`tests` サブフォルダ内に独自の `CMakeLists.txt` ファイルと共に含まれています。各コード例のソースファイルには、それに対応する名前の `gtest_<source file>` テストファイルがあります。そのサブフォルダにあるテスト実行可能ファイルの名前は `<AWS のサービス>_gtests` です。

### CMakeLists.txt ファイル
<a name="CMakeLists"></a>

各サービスのフォルダには、`CMakeLists.txt` という名前のファイルが含まれています。これらのファイルの多くには、次のようなコンストラクトが含まれています。

```
foreach(EXAMPLE IN LISTS EXAMPLES)
         add_executable(${EXAMPLE} ${EXAMPLE}.cpp)
         target_link_libraries(${EXAMPLE} aws-cpp-sdk-email aws-cpp-sdk-core)
endforeach()
```

 フォルダ内の .cpp ファイルごとに、`CMakeLists.txt` ファイルによって、そのソースコードファイル名 (拡張子なし) に基づいた名前で実行可能ファイル (cmake: `add_executable`) がビルドされます。

## Visual Studio でのコード例のビルドとデバッグ
<a name="buildingOnVisualStudio"></a>

**Amazon S3 コード例のビルドと実行**

1. Amazon S3 のコード例のソースを入手します。この手順では、[を使用した Amazon S3 コード例 AWS SDK for C\$1\$1](examples-s3.md) コード例を使用して、Visual Studio での立ち上げと実行を行います。

1. Windows Explorer で、`s3` フォルダ (例: `\aws-doc-sdk-examples\cpp\example_code\s3`) に移動します。

1. `s3` コード例フォルダを右クリックし、**[Visual Studio で開く]** を選択します。  Visual Studio の CMake プロジェクトでは、「プロジェクト」ファイルがなく、フォルダ全体がプロジェクトとして扱われます。

1. Visual Studio のトップメニューにある **[Configuration Selector]** ドロップダウンで、選択した設定が、SDK をソースからビルドした際のビルドタイプと一致していることを確認します。  例えば、debug (SDK インストール手順の CMake コマンドラインでの `-DCMAKE_BUILD_TYPE=Debug`) を使用してソースからビルドした場合は、**[デバッグ]** 設定を選択する必要があります。

1. `CMakeLists.txt` ファイルを開きます。

1. **[保存]** をクリックします。`CMakeLists.txt` ファイルで **[保存]** をクリックするたびに、Visual Studio は CMake によって生成されたファイルを更新します。  **[出力]** タブを表示している場合、この生成による結果のログメッセージを確認できます。
   + **[出力]** タブには **[出力元の表示:]** というドロップダウンボックスがあり、デフォルトで **[CMake]** オプションが選択されています。
   + 最後のメッセージ出力では、「**CMake の生成が終了しました**」と通知されます。 
   + 最後のメッセージでこのように通知されない場合は、CMake ファイルに問題があります。この問題が解決するまで、次の手順には進まないでください。  「[AWS SDK for C\$1\$1 ビルドの問題のトラブルシューティング](troubleshooting-cmake.md)」を参照してください。
   + CMake キャッシュは CMake によって高速化のために使用されています。CMake の問題に対処する際は、表示されるエラーメッセージが最新の変更に基づいたものとなるように、ビルド環境を一度「クリーンな状態」にリセットすることが重要です。  Solution Explorer で `CMakeLists.txt` を右クリックし、**[CMake キャッシュ]** を選択してから、**[キャッシュの削除]** を実行します。CMake の問題を順次解決していく際は、この操作を頻繁に行います。

1. Visual Studio 内からコード例をビルドして実行するために、Visual Studio はコマンドラインとは異なるフォルダ構造に実行可能ファイルを配置します。コードを実行するには、SDK の実行可能ファイルを正しい場所にコピーする必要があります。  CMakeLists ファイル内の「`TODO`」行 (40 行目付近) を探し、Visual Studio 用にコメントアウトされた行を選択します。Visual Studio ではビルドタイプ専用のサブフォルダは使用しないため、含まれていません。  `CMakeLists.txt` ファイル内でコメントアウトされた行を Visual Studio 用に切り替えます。

1. CMake キャッシュを削除し (上記を参照)、`CMakeLists.txt` ファイルをクリックしてタブを選択/アクティブにしてから、再度 `CMakeLists.txt` ファイルで **[保存]** を選択して、CMake ビルドファイルの生成を開始します。

1. 実行する「プログラム」のソースファイルを開きます。
   + 例えば、`list_buckets.cpp` を開きます。
   + Amazon S3 のコード例フォルダは、紹介されている各機能が、それぞれ専用の実行可能ファイルでデモンストレーションされるように構成されています。  例えば、`list_buckets.cpp` は、バケットの一覧表示のみをデモンストレーションする実行可能ファイルになります。

1. トップメニューで、**[ビルド]** を選択し、**[すべてビルド]** を選択します。
   + **[出力]** タブの **[出力元の表示]** には、**[ビルド]** の選択内容が反映され、すべてのビルドおよびリンクメッセージが表示されます。
   + 最後の出力は、「**すべてのビルドが正常に完了しました**」になります。
   + これで、各ソースファイルに対応する実行可能ファイルが生成されました。  この結果を確認するには、ビルド出力ディレクトリ (例: `\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug`) を調べます。
   + 実行可能ファイルに「run\$1」というプレフィックスが付いているのは、`CMakeLists.txt` ファイルでの指示によります。

1. トップメニューには、**緑の矢印**と、**デバッグターゲット**の**ドロップダウンセレクター**があります。  `run_list_buckets.exe` を選択してください。

1. **緑色の矢印の実行ボタン**をクリックして、**スタートアップ項目を選択**します。

1. Visual Studio のデバッグコンソールウィンドウが開き、コードの出力が表示されます。

1. キーを押してウィンドウを閉じるか手動でウィンドウを閉じて、プログラムを終了します。  コード内にブレークポイントを設定することもでき、再度実行すると、そのポイントで処理が停止します。