适用于 C++ 的 AWS SDK 代码示例入门 - 适用于 C++ 的 AWS SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 C++ 的 AWS SDK 代码示例入门

代码示例的结构

Github 上的 C++ 示例文件夹包含每项 AWS 服务的项目文件夹。通常,文件夹中的各个 .cpp 源文件演示了该服务的特定功能或操作。例如,对于 Amazon DynamoDB,从数据库获取项目和将项目上传到数据库是两种不同的操作类型,因此 DynamoDB 文件夹中针对每种操作有一个单独的文件:get_item.cppput_item.cpp。每个 .cpp 文件都包含一个 main() 函数作为独立可执行文件的入口点。项目可执行文件在构建系统指定的文件夹中生成,每个示例源文件对应一个可执行文件。可执行文件的文件名遵循平台的约定,例如 {name}.exe 或只是 {name},并且任何自定义前缀都 CMakeLists.txt 适用,例如 run_

运行示例功能
  1. 从上的 “代码示例存储库” 下载所需的AWS 代码示例 GitHub。

  2. 打开一个 .cpp 文件以浏览其 main() 函数和任何被调用的方法。

  3. 构建项目,如开始使用 适用于 C++ 的 AWS SDK 中的入门示例所示。请注意,构建项目会为项目中的每个源文件生成一个可执行文件。

  4. 运行所选功能的可执行文件。

    • 在命令提示符下,使用基于 *.cpp 文件名的可执行文件运行该程序。

    • 如果您在 IDE 中工作,请选择要演示的功能的 .cpp 文件并将其选为启动选项(或启动对象)。

单元测试

示例测试是使用 GoogleTest 框架编写的。要了解更多信息,请参阅 GoogleTest 网站上的 P GoogleTestri mer。

每个示例的单元测试都位于包含其自己的 CMakeLists.txt 文件的 tests 子文件夹中。每个示例源文件都有一个名为 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 代码示例
  1. 获取 Amazon S3 示例源代码。此过程使用 使用 Amazon S3 代码示例 适用于 C++ 的 AWS SDK 代码示例通过 Visual Studio 启动并运行。

  2. 在 Windows 资源管理器中,导航到 s3 文件夹(例如 \aws-doc-sdk-examples\cpp\example_code\s3)。

  3. 右键单击 s3 示例文件夹,然后选择使用 Visual Studio 打开。  用于 CMake项目的 Visual Studio 没有 “项目” 文件,而是整个文件夹。

  4. 在 Visual Studio 顶部菜单的配置选择器下拉列表中,确保所选配置与您从源代码构建 SDK 时选择的构建类型相匹配。  例如,如果您使用调试从源代码构建(-DCMAKE_BUILD_TYPE=Debug在 SDK 安装说明中的 CMake 命令行中),则应选择调试配置。

  5. 打开文件 CMakeLists.txt

  6. 单击保存。每次在CMakeLists.txt文件上单击 “保存” 时,Visual Studio 都会刷新 CMake生成的文件。  如果显示了输出选项卡,即可查看此次生成过程的日志消息结果。

    • 出” 选项卡中有一个下拉框,上面写着:“显示输出来自:”,默认情况下CMake应选择该选项。

    • 最后一条消息输出应显示 “CMake 生成已完成。 “  

    • 如果最后一条消息不是这样,则说明 CMake 文件有问题。在此问题得到解决之前,请勿继续执行后续步骤。  请参阅解决 AWS 适用于 C++ 的 SDK 编译问题

    • 请注意,使用 CMake 缓存 CMake 来提高速度。如果你正在解决 CMake 问题,你需要确保 “一目了然”,这样你得到的错误消息才能真正反映出你最近的更改。  在解决方案资源管理器中,右键单击CMakeLists.txt并选择CMake缓存,然后选择删除缓存。在逐步 CMake 解决问题时,请经常这样做。

  7. 要从 Visual Studio 中生成和运行示例,Visual Studio 会将可执行文件放在与命令行不同的文件夹结构中。要运行代码,必须将 SDK 可执行文件复制到正确的位置。  找到 CMake列表文件的 “TODO” 行(约第 40 行),然后选择注释的那一行以便在 Visual Studio 中使用。Visual Studio 不使用专用于构建类型的子文件夹,因此不包括该子文件夹。  在 CMakeLists.txt 文件中,将注释掉的行切换为适用于 Visual Studio 的版本。

  8. 删除 CMake 缓存(如上所述),在CMakeLists.txt文件中单击选项卡,然后再次在CMakeLists.txt文件上选择 “保存” 以启动 CMake 生成文件的生成。 select/activate

  9. 打开您要运行的“程序”的源文件。

    • 例如,打开 list_buckets.cpp

    • Amazon S3 示例文件夹的代码结构设计为,每个展示的 Amazon S3“功能”都在一个专门针对该功能的独立可执行文件中进行演示。  例如,list_buckets.cpp 将成为仅演示存储桶列表的可执行文件。

  10. 在顶部菜单中,选择构建,然后选择全部构建

    • 输出选项卡的显示输出的来源应反映构建的选择,并显示所有构建和链接消息。

    • 最后一条输出应为:“构建全部成功。

    • 现在,将为每个单独的源文件生成可执行文件。  您可以在构建输出目录中确认这一点(例如 \aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug)。

    • 请注意,可执行文件以“run_”为前缀,因为 CMakeLists.txt 文件规定了这一点。

  11. 在顶部菜单中,有一个绿色箭头和一个用于选择调试目标下拉选择器。  选择 run_list_buckets.exe

  12. 单击绿色箭头表示的运行按钮选择启动项

  13. 将会打开 Visual Studio 调试控制台窗口并显示代码的输出。

  14. 按任意键关闭窗口,或手动关闭窗口,以终止程序。  您也可以在代码中设置断点,当您再次单击运行时,断点就会被命中。