C ++的AWS SDK为Amazon Web Services(AWS)提供了现代的C ++(版本C ++ 11或更高版本)。它本来可以通过低水平和高级SDK来表现并充分发挥作用,同时最大程度地减少依赖关系并提供平台可移植性(Windows,OSX,Linux和Mobile)。
C ++的AWS SDK现在已普遍可用,建议用于生产。我们邀请客户通过提交拉动请求并通过GitHub问题向我们发送反馈和想法来加入开发工作。
为您的平台安装CMAKE和相关的构建工具。确保它们在可执行路径中可用。
用subsodules克隆这个存储库
git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp创建您的构建目录。用构建目录名称替换<BUILD_DIR> :
建立项目:
cd < BUILD_DIR >
cmake < path-to-root-of-this-source-code >
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_INSTALL_PREFIX= < path-to-install >
-DBUILD_ONLY= " s3 "
cmake --build . --config=Debug
cmake --install . --config=Debug注意: build_only是一个可选的标志,用于仅列出您使用的服务。构建整个SDK可能需要很长时间。另外,查看CMAKE参数列表
要在Linux中编译,您必须具有libcurl,libopenssl的标头文件。这些软件包通常在您的软件包管理器中可用。
基于Debian的Linux sudo apt-get install libcurl-dev
基于RPM sudo [yum|dnf|zypper] install libcurl-devel Linux发行
除了系统如何消耗卷曲依赖项和编译器外,为MacOS建造与在 *NIX系统上的构建大致相同。
您必须安装Xcode命令行工具。这是Apple Clang和GCC所必需的。这也安装了libcurl。
配x 如果您使用的是Macos Sonoma,则有一个已知的问题,其中MacOS上使用Libcurl版本8.4.0可能会导致问题。卷发和苹果正在跟踪此问题。同时,请使用Homebrew的更新版本的Curl。您可以通过cmake_prefix_path将其包括在项目中。cmake -DCMAKE_PREFIX_PATH="/opt/homebrew/opt/curl/" -DAUTORUN_UNIT_TESTS=OFF -DBUILD_ONLY="s3" -DCMAKE_INSTALL_PREFIX="~/sdk-install" ..
要为Android构建,请在CMAKE命令行中添加-DTARGET_ARCH=ANDROID 。当前,我们使用Android NDK 19C支持Android API,并使用Android NDK提供的内置CMAKE工具链文件,假设您拥有适当的环境变量(Android_NDK)设置。
在Windows上为Android建造需要一些其他设置。特别是,您需要从Visual Studio开发人员命令提示(2015年或更高)中运行CMAKE。此外,您需要在路径中需要“ git”和“补丁”。如果您在Windows系统上安装了GIT,则该补丁可能会在兄弟姐妹目录(.../git/usr/bin/)中找到。一旦您验证了这些要求,您的CMAKE命令行将略有更改以使用NMAKE:
cmake -G " NMake Makefiles " ` -DTARGET_ARCH=ANDROID ` < other options > ..Nmake以串行方式构建目标。为了使事情更快,我们建议安装JOM作为NMAKE的替代方案,然后将CMAKE调用更改为:
cmake -G " NMake Makefiles JOM " ` -DTARGET_ARCH=ANDROID ` < other options > ..您可以使用VCPKG依赖项管理器下载并安装AWS-SDK-CPP:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install aws-sdk-cpp
Microsoft团队成员和社区贡献者保持最新的AWS-SDK-CPP端口。如果该版本已过时,请在VCPKG存储库上创建问题或拉出请求。
有关SDK主要版本和我们的基本依赖性的维护和支持的信息,请参见AWS SDK和工具共享配置和凭据参考指南中的以下信息
与我们的团队互动的最佳方法是通过Github。您可以为指导问题或错误报告或功能请求打开讨论。
您可能还可能会在社区资源上找到带有标签#AWS-SDK-CPP的stackoverflow的帮助。如果您有AWS支持的支持计划,则还可以创建一个新的支持案例。
在开发问题之前,请确保还要查看我们的资源: