编译使用Aws-cpp-sdk API

使用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)]

是因为这里用的还是原来的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(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值