AWS SDK for C++ コード例の開始方法
コード例の構造
Github の C++ コード例フォルダget_item.cpp と put_item.cpp) があります。各 .cpp ファイルには、スタンドアロン実行可能ファイルのエントリポイントとなる main() 関数が含まれています。プロジェクトの実行可能ファイルはビルドシステムによって指定されたフォルダに生成され、サンプルソースファイルごとに 1 つの実行可能ファイルがあります。実行可能ファイルの名前は、プラットフォームの慣習 ({name}.exe、単に {name} など) や、CMakeLists.txt に適用されるカスタムプレフィックス (run_ など) に従います。
コード例の機能を実行するには
-
GitHub の AWS コードサンプルリポジトリ
から必要なコード例をダウンロードします。 -
.cpp ファイルを開き、その
main()関数および呼び出されるメソッドを確認します。 -
「AWS SDK for C++ の開始方法」にある開始例に従ってプロジェクトをビルドします。ビルドすると、プロジェクト内の各ソースファイルに対応する実行可能ファイルが生成されます。
-
選択した機能の実行可能ファイルを実行します。
-
コマンドプロンプトで、
*.cppファイルの名前に基づいた実行可能ファイルを使用して、そのプログラムを実行します。 -
IDE 内で作業している場合は、デモンストレーションする機能の
.cppファイルを選択し、スタートアップオプション (またはスタートアップオブジェクト) に設定します。
-
ユニットテスト
コード例のテストは GoogleTest フレームワークを使用して記述されています。詳細については、GoogleTest ウェブサイトの「GoogleTest Primer
各コード例のユニットテストは、tests サブフォルダ内に独自の CMakeLists.txt ファイルと共に含まれています。各コード例のソースファイルには、それに対応する名前の gtest_ テストファイルがあります。そのサブフォルダにあるテスト実行可能ファイルの名前は <source file> です。<AWS のサービス>_gtests
CMakeLists.txt ファイル
各サービスのフォルダには、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 でのコード例のビルドとデバッグ
Amazon S3 コード例のビルドと実行
-
Amazon S3 のコード例のソースを入手します。この手順では、AWS SDK for C++ を使用した Amazon S3 のコード例 コード例を使用して、Visual Studio での立ち上げと実行を行います。
-
Windows Explorer で、
s3フォルダ (例:\aws-doc-sdk-examples\cpp\example_code\s3) に移動します。 -
s3コード例フォルダを右クリックし、[Open with Visual Studio] (Visual Studio で開く) を選択します。 Visual Studio の CMake プロジェクトでは、「プロジェクト」ファイルがなく、フォルダ全体がプロジェクトとして扱われます。 -
Visual Studio のトップメニューにある [Configuration Selector] ドロップダウンで、選択した設定が、SDK をソースからビルドした際のビルドタイプと一致していることを確認します。 例えば、debug (SDK インストール手順の CMake コマンドラインでの
-DCMAKE_BUILD_TYPE=Debug) を使用してソースからビルドした場合は、Debug 設定を選択する必要があります。 -
CMakeLists.txtファイルを開きます。 -
[保存] をクリックします。
CMakeLists.txtファイルで [Save] (保存) をクリックするたびに、Visual Studio は CMake によって生成されたファイルを更新します。 [Output] (出力) タブを表示している場合、この生成による結果のログメッセージを確認できます。-
[Output] タブには [Show output from:] (出力元の表示:) というドロップダウンボックスがあり、デフォルトで [CMake] オプションが選択されています。
-
最後のメッセージ出力では、CMake の生成が終了したことが通知されます。
-
最後のメッセージでこのように通知されない場合は、CMake ファイルに問題があります。この問題が解決するまで、次の手順には進まないでください。 「AWS SDK for C++ のビルドに関する問題のトラブルシューティング」を参照してください。
-
CMake キャッシュは CMake によって高速化のために使用されています。CMake の問題に対処する際は、表示されるエラーメッセージが最新の変更に基づいたものとなるように、ビルド環境を一度クリーンな状態にリセットすることが重要です。 Solution Explorer で
CMakeLists.txtを右クリックし、[CMake Cache] (CMake キャッシュ) を選択してから、[Delete Cache] (キャッシュの削除) を実行します。CMake の問題を順次解決していく際は、この操作を頻繁に行います。
-
-
Visual Studio 内からコード例をビルドして実行するために、Visual Studio はコマンドラインとは異なるフォルダ構造に実行可能ファイルを配置します。コードを実行するには、SDK の実行可能ファイルを正しい場所にコピーする必要があります。 CMakeLists ファイル内の「
TODO」行 (40 行目付近) を探し、Visual Studio 用にコメントアウトされた行を選択します。Visual Studio ではビルドタイプ専用のサブフォルダは使用しないため、含まれていません。CMakeLists.txtファイル内でコメントアウトされた行を Visual Studio 用に切り替えます。 -
CMake キャッシュを削除し (上記を参照)、
CMakeLists.txtファイルをクリックしてタブを選択/アクティブにしてから、再度CMakeLists.txtファイルで [Save] (保存) を選択して、CMake ビルドファイルの生成を開始します。 -
実行する「プログラム」のソースファイルを開きます。
-
例えば、
list_buckets.cppを開きます。 -
Amazon S3 のコード例フォルダは、紹介されている各機能が、それぞれ専用の実行可能ファイルでデモンストレーションされるように構成されています。 例えば、
list_buckets.cppは、バケットの一覧表示のみをデモンストレーションする実行可能ファイルになります。
-
-
トップメニューで、[Build] (ビルド) を選択し、[Build All] (すべてビルド) を選択します。
-
[Output] (出力) タブの [Show output from] (出力元の表示) には、[Build] (ビルド) の選択内容が反映され、すべてのビルドおよびリンクメッセージが表示されます。
-
最後の出力は「Build All succeeded.」 になります。
-
これで、各ソースファイルに対応する実行可能ファイルが生成されました。 この結果を確認するには、ビルド出力ディレクトリ (例:
\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug) を調べます。 -
実行可能ファイルに「run_」というプレフィックスが付いているのは、
CMakeLists.txtファイルでの指示によります。
-
-
トップメニューには、緑の矢印と、デバッグターゲットのドロップダウンセレクターがあります。
run_list_buckets.exeを選択してください。 -
緑色の矢印の実行ボタンをクリックして、スタートアップ項目を選択します。
-
Visual Studio のデバッグコンソールウィンドウが開き、コードの出力が表示されます。
-
キーを押してウィンドウを閉じるか手動でウィンドウを閉じて、プログラムを終了します。 コード内にブレークポイントを設定し、再度実行すればそのポイントで停止します。