OSS 的C++ SDK编译安装指南

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: OSS 的C++ SDK编译安装指南

作者:苍柏

OSS C++ SDK编译安装:

1、环境准备

安装curl、ssl库

cmake安装(版本请使用V3.1.0以上,示例中使用的是v3.9.1)

yum –y install libcurl-devel openssl-devel
apt-get install libcurl-devel openssl-devel

gcc g++环境安装(注意gcc版本需要使用4.8.1之后,示例中采用的是V4.8.2)

2、下载SDK

Git地址见这里

3、SDK安装

cd aliyun-oss-php-sdk-2.3.0/
mkdir build
cd build
cmake ..
make && make install

4、使用SDK(以PutObject为例)

示例代码如下:

#include <stdint.h>
 #include <iostream>
 #include <memory.h>

 #include <alibabacloud/oss/OssClient.h>

 using namespace AlibabaCloud::OSS;

 int main(void)
 {
     /* 初始化OSS账号信息 */
     std::string AccessKeyId = "******";
     std::string AccessKeySecret = "*******";
     std::string Endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
     std::string BucketName = "cangbai-test";
     std::string ObjectName = "test.txt";

     /* 初始化网络等资源 */
     InitializeSdk();

     ClientConfiguration conf;
     OssClient client(Endpoint, AccessKeyId, AccessKeySecret, conf);

     /* 上传文件 */
     auto outcome = client.PutObject(BucketName, ObjectName,"/cangbai/CMakeLists.txt");

     if (!outcome.isSuccess()) {
         /* 异常处理 */
         std::cout << "PutObject fail" <<
   ",code:" << outcome.error().Code() <<
   ",message:" << outcome.error().Message() <<
   ",requestId:" << outcome.error().RequestId() << std::endl;
         ShutdownSdk();
         return -1;
     }
     std::cout<<"PubObject Success !!!"<<std::endl;

     /* 释放网络等资源 */
     ShutdownSdk();
     return 0;
  }

可能遇到的问题:

问题1、

image.png

解法:请使用g++进行编译,而非gcc

问题2、

image.png

解法:C++ SDK中使用了C++ 11中描述的新特定,编译参数需要添加对C++11的支持
g++ -std=c++11

问题3、

image.png

解法:找不到静态链接库,请注意检查 /etc/ld.so.conf 中配置的静态库检索路径,以及您C++ SDK中静态库的安装位置是否在检索路径中能够找到
或者手动指定静态库
示例:g++ -std=c++11 -o test 静态库.a

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1436 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
6月前
|
算法 开发工具 计算机视觉
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
86 1
|
5月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
148 9
|
7月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
222 9
|
7月前
|
存储 移动开发 前端开发
对象存储oss使用问题之OSS SDK .net 使用下载例程报错如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
105 0
|
7月前
|
开发工具 对象存储 Android开发
对象存储oss使用问题之C++使用OSS SDK时遍历OSS上的文件时崩溃如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
268 0
|
5月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
29天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
4月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决