开始使用适用于 C++ 的 AWS SDK 代码示例
代码示例的结构
Github 上的 C++ 示例文件夹get_item.cpp 和 put_item.cpp。每个 .cpp 文件都包含一个 main() 函数作为独立可执行文件的入口点。项目可执行文件在构建系统指定的文件夹中生成,每个示例源文件对应一个可执行文件。可执行文件的文件名遵循平台的约定,例如 {name}.exe 或只是 {name},并且任何自定义前缀都 CMakeLists.txt 适用,例如 run_。
运行示例功能
-
从 GitHub 上的AWS代码示例存储库
中下载所需的代码示例。 -
打开一个 .cpp 文件以浏览其
main()函数和任何被调用的方法。 -
构建项目,如开始使用适用于 C++ 的 AWS SDK 中的入门示例所示。请注意,构建项目会为项目中的每个源文件生成一个可执行文件。
-
运行所选功能的可执行文件。
-
在命令提示符下,使用基于
*.cpp文件名的可执行文件运行该程序。 -
如果您在 IDE 中工作,请选择要演示的功能的
.cpp文件并将其选为启动选项(或启动对象)。
-
单元测试
示例测试是使用 GoogleTest 框架编写的。要了解更多信息,请参阅 GoogleTest 网站上的 GoogleTest Primer
每个示例的单元测试都位于包含其自己的 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 代码示例
-
获取 Amazon S3 示例源代码。此过程使用 使用适用于 C++ 的 AWS SDK 的 Amazon S3 代码示例 代码示例通过 Visual Studio 启动并运行。
-
在 Windows 资源管理器中,导航到
s3文件夹(例如\aws-doc-sdk-examples\cpp\example_code\s3)。 -
右键单击
s3示例文件夹,然后选择使用 Visual Studio 打开。 适用于 CMake 项目的 Visual Studio 没有“项目”文件,整个文件夹即为项目本身。 -
在 Visual Studio 顶部菜单的配置选择器下拉列表中,确保所选配置与您从源代码构建 SDK 时选择的构建类型相匹配。 例如,若您在从源代码构建 SDK 时使用了调试模式(即 SDK 安装指南中 CMake 命令行里的
-DCMAKE_BUILD_TYPE=Debug),则应选择调试配置。 -
打开文件
CMakeLists.txt。 -
单击保存。每次对
CMakeLists.txt文件单击保存时,Visual Studio 都会刷新 CMake 生成的文件。 如果显示了输出选项卡,即可查看此次生成过程的日志消息结果。-
输出选项卡中有一个下拉框,指出“显示输出的来源:”,默认情况下,会选中 CMake 选项。
-
最后一条消息输出应显示“CMake 生成已完成”。
-
如果最后一条消息不是这样的,则说明 CMake 文件有问题。在此问题得到解决之前,请勿继续执行后续步骤。 请参阅排查适用于 C++ 的 AWS SDK 问题。
-
请注意,CMake 使用 CMake 缓存来提高速度。如果您正在排查 CMake 问题,您会希望确保一个“干净的环境”,这样您得到的错误消息才能真正反映出您最近的更改。 在解决方案资源管理器中,右键单击
CMakeLists.txt并选择 CMake 缓存,然后选择删除缓存。在逐步排查 CMake 问题的过程中,请经常这样做。
-
-
要从 Visual Studio 中生成和运行示例,Visual Studio 会将可执行文件放在与命令行不同的文件夹结构中。要运行代码,必须将 SDK 可执行文件复制到正确的位置。 找到 CMakeLists 文件中标记“
TODO”的行(大约第 40 行),并选择针对 Visual Studio 使用的注释版本。Visual Studio 不使用专用于构建类型的子文件夹,因此不包括该子文件夹。 在CMakeLists.txt文件中,将注释掉的行切换为适用于 Visual Studio 的版本。 -
删除 CMake 缓存(如上所述),在
CMakeLists.txt文件中单击以选择/激活选项卡,然后再次在CMakeLists.txt文件上选择保存以启动 CMake 构建文件的生成过程。 -
打开您要运行的“程序”的源文件。
-
例如,打开
list_buckets.cpp。 -
Amazon S3 示例文件夹的代码结构设计为,每个展示的 Amazon S3“功能”都在一个专门针对该功能的独立可执行文件中进行演示。 例如,
list_buckets.cpp将成为仅演示存储桶列表的可执行文件。
-
-
在顶部菜单中,选择构建,然后选择全部构建。
-
输出选项卡的显示输出的来源应反映构建的选择,并显示所有构建和链接消息。
-
最后一条输出应为:“构建全部成功。”
-
现在,将为每个单独的源文件生成可执行文件。 您可以在构建输出目录中确认这一点(例如
\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug)。 -
请注意,可执行文件以“run_”为前缀,因为
CMakeLists.txt文件规定了这一点。
-
-
在顶部菜单中,有一个绿色箭头和一个用于选择调试目标的下拉选择器。 选择
run_list_buckets.exe。 -
单击绿色箭头表示的运行按钮以选择启动项。
-
将会打开 Visual Studio 调试控制台窗口并显示代码的输出。
-
按任意键关闭窗口,或手动关闭窗口,以终止程序。 您也可以在代码中设置断点,当您再次单击运行时,断点就会被命中。