使用Aws-cpp-sdk API
一、对sdk的编译前准备
1、软件需求
此文档针对于在Linux系统上使用源码进行编译开发
操作系统使用原生的contos7Linux。
机器配置建议 内存8G以上,CPU 4个 以上
软件需求:
- GCC 4.9.0 及以上版本
- Cmake 3.12以上 3.21以下
- libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel
2、安装gcc
先下载相关依赖,依次安装即可。

3、cmake安装
下载对应的安装包,然后解压,进入文件夹执行 ./configure即可
下载连接:https://cmake.org/download/
4、安装其他
安装libcurl-devel
Yum install libcurl-devel
安装openssl
yum install –y openssl-devel
二、aws-cpp-sdk
1、下载源码包
github源码地址 https://github.com/aws/aws-sdk-cpp
使用git的clone命令从github上进行克隆
git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
这里因为源码包含子模块,需要进行迭代下载,使用–recurse-submodules拉取子模块
下载后需要检查是否下载完全,主要是crt文件夹下的各文件。
ps:如果在Linux上使用git 无法克隆下来(网络原因很容易失败),可以在windows上安装git,然后挂上vpn进行clone 最后检查是否成功clone完全,如果还要部分缺少,可手动下载补全。
2、构建源码
在下载完sdk代码后 在sdk源目录之外创建一个文件夹来构建文件
mkdir sdk_build
cd sdk_build
运行cmake构造文件,这里再进行构建时,指定的安装目录为 /usr/local 可以指定构建Debug还是Release版本,在构建时可以选择构建全部还是构建特定的服务,这里建议仅构建自己需要的服务。
cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=on -DBUILD_ONLY="s3" -DENABLE_TESTING=OFF
这里需要指定在编译完成后不运行测试代码,因为如果运行实例代码有没有通过的,就会影响源码的安装,造成无法成功安装源码
make
make install
Q:
在make时如果需要一下问题此问题
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjwDNc2G-1658300042218)(image\image-20220720145050813.png)]](https://i-blog.csdnimg.cn/blog_migrate/e34e07b075311c026ba9e14a3c75b61d.png)
是因为这里用的还是原来的gcc文件,将新的libstdc++进行链接即可
find / -name "libstdc++.so*"
查找编译生成的最新动态库
找到最新的动态库路径,然后使用cp命令将其复制到/usr/lib64目录下,切换到/usr/lib64 删除原来的软连接rm -rf libstdc++.so.6 然后将默认库的软连接指向最新库 ln -s libstdc++.so.6.0.25 libstdc++.so.6
在make执行完后,执行make install 进行安装

查看/usr/local/lib64 可以看到生产的库文件

三、测试
编写测试代码进行测试
1、S3测试
新建一个文件夹用于代码测试
mkdir test_code
cd test_code
touch main.cpp CMakeLists.txt
编写main.cpp内容
#include <aws/core/Aws.h>
#include <aws/core/utils/logging/LogLevel.h>
#include <aws/s3/S3Client.h>
#include <aws/core/auth/AWSCredentialsProviderChain.h>
#include <iostream>
int main(

最低0.47元/天 解锁文章
583

被折叠的 条评论
为什么被折叠?



