全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

安装

更新时间:2017-08-17 16:54:07

SDK 安装

要求

  • 开通阿里云OSS服务,并创建了AccessKeyId 和AccessKeySecret。
  • 如果您还没有开通或者还不了解阿里云OSS服务,请登录OSS产品主页了解。
  • 如果还没有创建AccessKeyId和AccessKeySecret,请到阿里云Access Key管理创建Access Key。

Linux

环境依赖

OSS C SDK使用curl进行网络操作,无论是作为客户端还是服务器端,都需要依赖curl。另外,OSS C SDK使用apr、apr-util库解决内存管理以及跨平台问题,使用minixml库解析请求返回的xml,OSS C SDK(Linux)并没有带上这几个外部库,您需要确认这些库已经安装,并且将它们的头文件目录和库文件目录都加入到了项目中。

安装第三方库

Ubuntu/Debian

  • 安装CMake

    执行以下命令安装CMake。

    1. sudo apt-get install cmake
  • 安装第三方库

    执行以下命令安装第三方库。

    1. sudo apt-get install libcurl4-openssl-dev libapr1-dev libaprutil1-dev libmxml-dev

RedHat/Aliyun/CentOS

  • 安装CMake

    执行以下命令安装CMake。

    1. sudo yum install cmake
  • 安装第三方库

    执行以下命令安装第三方库。

    1. sudo yum install curl-devel apr-devel apr-util-devel
  • minixml

    请下载系统对应的rpm包:

    执行以下命令安装minixml:

    1. rpm -ivh mxml-2.9-1.x86_64.rpm

SuSE

  • 安装CMake

    执行以下命令安装CMake。

    1. zypper install cmake
  • 安装第三方库

    执行以下命令安装第三方库。

    1. zypper install libcurl-devel libapr1-devel libapr-util1-devel mxml-devel

其它Linux

  • CMake (建议2.6.0及以上版本)

    请从这里下载,典型的安装方式如下:

  1. ./configure
  2. make
  3. make install

注意:

  • 执行./configure时默认是配置安装目录为/usr/local/,如果需要指定安装目录,请使用 ./configure —prefix=/your/install/path/
  • libcurl (建议 7.32.0 及以上版本)

    请从这里下载,并参考libcurl 安装指南安装。典型的安装方式如下:

  1. ./configure
  2. make
  3. make install

注意:

  • 执行./configure时默认是配置安装目录为/usr/local/,如果需要指定安装目录,请使用 ./configure —prefix=/your/install/path/
  • 如果要使用MEDIA-C-SDK,请确保./configure执行完后,最后一行的Protocols里面包含HTTPS,如果没有,请先安装openssl-devel等ssl开发包,然后重新安装libcurl。
  • apr (建议 1.5.2 及以上版本)

    请从这里下载,典型的安装方式如下:

  1. ./configure
  2. make
  3. make install

注意:

  • 执行./configure时默认是配置安装目录为/usr/local/,如果需要指定安装目录,请使用 ./configure —prefix=/your/install/path/
  • apr-util (建议 1.5.4 及以上版本)

    请从这里下载,安装时需要注意指定—with-apr选项,典型的安装方式如下:

    1. ./configure --with-apr=/your/apr/install/path
    2. make
    3. make install

    注意:

    • 执行./configure时默认是配置安装目录为/usr/local/,如果需要指定安装目录,请使用 ./configure —prefix=/your/install/path/
    • 需要通过—with-apr指定apr安装目录,如果apr安装到系统目录下需要指定—with-apr=/usr/local/apr/
  • minixml (推荐使用 2.9 版本)

    请从这里下载,典型的安装方式如下:

  1. ./configure
  2. make
  3. sudo make install

注意:

  • minixml推荐使用 2.9 版本;
  • 执行./configure时默认是配置安装目录为/usr/local/,如果需要指定安装目录,请使用 ./configure —prefix=/your/install/path/ 。

编译安装OSS C SDK

典型的编译命令如下:

  1. cmake .
  2. make
  3. make install

注意:

  • 执行cmake . 时默认会到/usr/local/下面去寻找curl,apr,apr-util,mxml的头文件和库文件。
  • 默认编译是Debug类型,可以指定以下几种编译类型: Debug, Release, RelWithDebInfo和MinSizeRel,如果要使用release类型编译,则执行cmake -f CMakeLists.txt -DCMAKE_BUILD_TYPE=Release
  • 如果您在安装curl,apr,apr-util,mxml时指定了安装目录,则需要在执行cmake时指定这些库的路径,
    • 比如:cmake -f CMakeLists.txt -DCURL_INCLUDE_DIR=/usr/local/include/curl/ -DCURL_LIBRARY=/usr/local/lib/libcurl.so -DAPR_INCLUDE_DIR=/usr/local/include/apr-1/ -DAPR_LIBRARY=/usr/local/lib/libapr-1.so -DAPR_UTIL_INCLUDE_DIR=/usr/local/apr/include/apr-1 -DAPR_UTIL_LIBRARY=/usr/local/apr/lib/libaprutil-1.so -DMINIXML_INCLUDE_DIR=/usr/local/include -DMINIXML_LIBRARY=/usr/local/lib/libmxml.so
  • 如果要指定安装目录,则需要在cmake时增加: -DCMAKE_INSTALL_PREFIX=/your/install/path/usr/local/
  • 如果执行cmake时报以下错误:Could not find apr-config/apr-1-config,原因是在默认路径里面找不到apr-1-config文件,这时候可以在执行cmake命令时,在最后面加上-DAPR_CONFIG_BIN=/path/to/bin/apr-1-config。如果报:Could not find apu-config/apu-1-config,则需要加上-DAPU_CONFIG_BIN=/path/to/bin/apu-1-config。

Linux示例工程

基于Aliyun OSS C SDK的示例工程 aliyun-oss-c-sdk-demo.tar.gz 。其中,示例oss-c-sdk-demo-specified-installation基于OSS C SDK及依赖的第三方库,都安装在/home/your/oss/csdk下;其它示例工程是基于OSS C SDK及依赖的第三方库,安装在默认目录下,即安装时不指定目录。

  • oss-c-sdk-demo-centos Aliyun/CentOS下,基于默认安装路径的OSS C SDK示例工程
  • oss-c-sdk-demo-debian Debian下,基于默认安装路径的OSS C SDK示例工程
  • oss-c-sdk-demo-redhat RedHat下,基于默认安装路径的OSS C SDK示例工程
  • oss-c-sdk-demo-suse SuSE下,基于默认安装路径的OSS C SDK示例工程
  • oss-c-sdk-demo-ubuntu Ubuntu下,基于默认安装路径的OSS C SDK示例工程
  • oss-c-sdk-demo-specified-installation Linux下,基于自定义安装目录的OSS C SDK示例工程

示例工程的详细说明,请参看 Linux下使用Aliyun OSS C SDK

解压后进入工程目录(oss-c-sdk-demo-xxx),执行make,编译示例工程;执行make clean清理编译产生的文件;执行./main运行可执行程序。

提示:

  • 示例代码中的OSS_ENDPOINT、ACCESS_KEY_ID、ACCESS_KEY_SECRET、BUCKET_NAME请更换成有效值;
  • 如果OSS C SDK及依赖库的动态库不在系统目录下,执行时请使用LD_LIBRARY_PATH指定。

Windows

Windows环境下,OSS C SDK目前只支持 Win32 方式编译,暂不支持 x64。使用 Win32 编译的库,可以在 Win32x64 工程中使用。

环境与依赖

  • OSS C SDK(Windows)依赖的第三方库和Linux版本一致,分别是apr,apr-util,curl,mxml。
  • SDK提供了Visual Studio 2008和Visual Studio 2010的项目工程,分别支持Visual Studio 2008,Visual Studio 2010及其以后版本。
  • SDK提供了third_party,包含了需要用到的第三方库(apr, apr-util, curl, mxml)的头文件和库文件,用户可以使用这里的头文件和库文件编译,运行sample和test项目。

Visual Studio 2008版本

  • 对应的项目文件为oss_c_sdk_2008.sln等包含2008的文件
  • OSS C SDK需要用到stdint.h头文件,Visual C++ 2008默认是没有此头文件,如果用户没有提前安装此头文件,可以将third_party/include中的stdint.h.bak重命名为stdint.h后使用。
  • 从2.0.0版本才开始支持Visual Studio 2008,之前版本均不支持

Visual Studio 2010及其以后版本

  • 对应的项目文件为oss_c_sdk.sln等不包含数字的文件。
  • Visual Studio 2010及其以后版本都包含了stdint.h头文件。
  • 如果用户使用Visual Studio 2012及其以后版本打开时,会提示用户是否将项目升级成使用最新版的编译器和库,这里最好和用户自己的项目保持一致:如果用户的项目使用了最新版本的编译器和库,就选择升级,否则可以不升级。

Visual Studio示例工程

示例工程提供了基于Visual Studio 2008/2010/2012/2013/2015的工程,您可以用Visual Studio直接打开对应工程, 修改Endpoint/AccessKeyID/AccessKeySecret/BucketName等配置后,既可编译运行。您也可以在示例工程基础上开发您的项目。

注意:

  • 运行oss-c-sdk-sample前,请在Visual Studio做如下配置。在Sulution Explore中选择工程oss-c-sdk-sample,右击选择Property,在oss-c-sdk-sample Property Pages中配置Configuration Properties -> Debugging -> EnvironmentPATH=..\oss-c-sdk\lib\Release\;%PATH%

使用Visual Studio编译OSS C SDK、运行示例程序的详细步骤及常见问题,请参考 Windows下编译使用Aliyun OSS C SDK

示例工程

C SDK提供丰富的示例程序,方便用户参考或直接使用。您可以从GitHub获取示例程序。示例程序包括以下内容:

示例文件 示例内容
oss_put_object_sample 展示了文件上传的用法,包括从内存/文件上传、携带MD5校验上传、携带元数据上传、url签名上传等
oss_get_object_sample.c 展示了文件下载的用法,包括下载到内存、下载到文件、范围下载、URL签名下载等
oss_append_object_sample.c 展示了追加上传的用法,包括从内存追加上传、从文件追加上传
oss_multipart_upload_sample.c 展示了分片上传的用法,包括从内存分片上传、从文件分片上传、取消上传分片上传等
oss_resumable_sample.c 展示了并发断点续传上传/下载的用法
oss_head_object_sample.c 展示了获取文件元信息的用法
oss_list_object_sample.c 展示了列举文件的用法
oss_delete_object_sample.c 展示了删除文件的用法,包括删除单个文件、删除多个文件
oss_callback_sample.c 展示了上传回调的用法,包括上传回调、分片上传回调
oss_progress_sample.c 展示了进度条的用法,包括上传、追加上传、分片上传、下载等
oss_crc_sample.c 展示了上传、下载使用CRC校验的用法
oss_image_sample.c 展示了图片处理的用法
本文导读目录