如果您需要管理OSS存储空间、上传下载文件、管理数据、进行图片处理等,可以先安装OSS C++ SDK。本文介绍如何在不同的操作系统中安装OSS C++ SDK以及编译选项的使用说明。

前提条件

  • C++11及以上版本的编译器

  • Visual Studio 2013及以上版本

  • GCC 4.8及以上版本

  • Clang 3.3及以上版本

下载SDK

安装SDK

您可以通过Linux、Windows、Android及macOS系统安装SDK。

Linux系统

  1. 安装CMake并通过CMake生成目标平台的构建脚本。

    1. 下载CMake安装包。

      以下以安装CMake 3.21.1版本为例,如需下载其他版本,请对应替换版本号。

      wget https://cmake.org/files/v3.21/cmake-3.21.1.tar.gz
    2. 解压CMake安装包文件。

      tar xvf cmake-3.21.1.tar.gz
    3. 进入CMake安装目录。

      cd cmake-3.21.1/
    4. 执行自动化构建和配置过程,用于检查系统环境、生成Makefile文件、配置编译选项等。

      ./bootstrap
    5. 根据Makefile文件中的规则,逐个编译源代码文件,生成目标可执行文件或库文件。

      make
    6. 安装编译生成的文件。

      sudo make install
  2. 添加环境变量。

    1. 编辑bash配置文件。

      vim .bashrc
    2. 配置环境变量。

      CMAKE_PATH=/usr/local/cmake
      export PATH=$CMAKE_PATH/bin:$PATH
    3. 使bash配置文件更改生效。

      source .bashrc
    4. 查找并显示在当前系统中可执行cmake命令的路径。

      which cmake
  3. 安装依赖。

    yum -y install libcurl-devel openssl-devel unzip
  4. 安装C++ SDK。

    1. 下载C++ SDK安装包。

      wget -O aliyun-oss-cpp-sdk-master.zip "https://gosspublic.alicdn.com/doc/c-sdk/aliyun-oss-cpp-sdk-master.zip"
    2. 解压安装包文件。

      unzip aliyun-oss-cpp-sdk-master.zip
    3. 进入安装目录。

      cd aliyun-oss-cpp-sdk-master
    4. 安装C++ SDK。

      1. 创建用于编译和构建项目的目标目录。

        mkdir build
      2. 切换至目标目录。

        cd build
      3. 通过CMake工具生成项目的构建系统。

        cmake ..
      4. 执行项目的编译过程。

        make
      5. 将编译生成的文件安装到系统指定的目录中。

        make install
  5. 编译示例文件。

    g++ test.cpp -std=c++11 -fno-rtti -lalibabacloud-oss-cpp-sdk -lcurl -lcrypto -lpthread -o test.bin
    重要

    C++ SDK默认关闭rtti属性。因此使用g++编译运行时,请添加-std=c++11-fno-rtti-lalibabacloud-oss-cpp-sdk-lcurl-lcrypto-lpthread

Windows系统

  1. 安装CMake并通过CMake生成目标平台的构建脚本。

    安装CMake3.1及以上版本后,打开cmd进入SDK文件目录,创建build文件夹,运行cmake ..生成所需文件,如下图所示。

    cmake01

    说明
    • 下载的SDK中不直接提供alibabacloud-oss-cpp-sdk.sln工程文件,您需要通过cmake生成所需的工程文件。

    • 如果要构建x64体系结构,可以使用命令cmake -A x64 ..来实现。

  2. 请以管理员身份运行VS开发人员命令提示符,在build目录文件下运行以下命令进行编译安装。

    msbuild ALL_BUILD.vcxproj
    msbuild INSTALL.vcxproj

    或者用Visual Studio打开alibabacloud-oss-cpp-sdk.sln生成解决方案。

Android系统

Linux环境下,基于android-ndk-r16工具链构建工程。您需要在$ANDROID_NDK/sysroot路径下安装libcurl和libopenssl第三方库,并运行以下命令进行编译安装。

cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake  \
      -DANDROID_NDK=$ANDROID_NDK    \
      -DANDROID_ABI=armeabi-v7a     \
      -DANDROID_TOOLCHAIN=clang     \
      -DANDROID_PLATFORM=android-21 \
      -DANDROID_STL=c++_shared ..
make

macOS系统

在macOS系统中,您可以使用brew方式来安装依赖库。

在macOS系统中需要指定OpenSSL安装路径。假设OpenSSL安装在/usr/local/Cellar/openssl/1.0.2p目录中,运行以下命令进行编译安装。

cmake -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2p  \
      -DOPENSSL_LIBRARIES=/usr/local/Cellar/openssl/1.0.2p/lib  \
      -DOPENSSL_INCLUDE_DIRS=/usr/local/Cellar/openssl/1.0.2p/include/ ..
make

编译选项

您可以根据具体的业务场景,设置不同的编译选项,编译选项格式为cmake -D${OptionName}=ON|OFF ..

可选的编译选项请参见下表。

选项名称

描述

BUILD_SHARED_LIBS

构建动态库,默认值为OFF。打开此选项时,会同时构建静态库和动态库, 且静态库名字增加-static后缀。

结合编译选项格式,如果要构建动态库,则使用cmake -DBUILD_SHARED_LIBS=ON ..

ENABLE_RTTI

支持的实时类型信息,默认值为ON。

OSS_DISABLE_BUCKET

不构建Bucket相关设置接口,默认值为OFF。如果需要裁剪代码大小,可将其置为ON。

OSS_DISABLE_LIVECHANNEL

不构建LiveChannel接口,默认值为OFF。如果需要裁剪代码大小,可将其置为ON。

OSS_DISABLE_RESUAMABLE

不构建断点续传接口,默认值为OFF。如果需要裁剪代码大小,可将其置为ON。

OSS_DISABLE_ENCRYPTION

不构建客户端加密接口,默认值为OFF。如果需要裁剪代码大小,可将其置为ON。