ARM Linux 下 编译 AWS SDK for C++ S3 连接minio及注意事项
最近开发需要实现自建对象存储,并在linux上连接
因为原有的程序是C++的,所以需要C++或C的库,但是minio提供的miniocpp没有编译成功
miniocpp
因为minio符合S3标准,所以也可使用 AWS 的SDK
编译文档
1. 安装依赖
1 | sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev |
2. 下载源码
1 | https |
3. 从源代码构建SDK
- 创建目录
1
2mkdir sdk_build
cd sdk_build - 生成构建文件运行结束即可在 /home/firefly/workspace/install 目录下看到 include 和 lib 文件夹,其中就是头文件和动态库
1
2
3
4cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/firefly/workspace/install -DBUILD_ONLY="s3" -DENABLE_TESTING=OFF
make
make DESTDIR=/home/firefly/workspace/install
make install4. 注意事项
- cmake 版本
最低版本为 3.13 - 关闭测试
在运行cmake时需要加上 -DENABLE_TESTING=OFF 关闭测试服务,仅构建S3时不需要运行测试,会导致后续make失败 - 调用动态库时报错
在调用动态库时,报未找到CURL4之类的错误,查看curl的引用或者版本是否有误
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MXE23!