すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:インストール (C++ SDK)

最終更新日:Nov 30, 2025

OSS バケットの管理、ファイルのアップロードとダウンロード、データの管理、またはイメージの処理を行うには、OSS C++ SDK をインストールする必要があります。 この Topic では、さまざまなオペレーティングシステムに OSS C++ SDK をインストールする方法と、コンパイルオプションの使用方法について説明します。

前提条件

  • C++11 以降をサポートするコンパイラ

  • Visual Studio 2013 以降

  • GCC 4.8 以降

  • Clang 3.3 以降

SDK のダウンロード

SDK のインストール

SDK は Linux、Windows、Android、macOS にインストールできます。

Linux

  1. 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://github.com/aliyun/aliyun-oss-cpp-sdk/archive/refs/tags/1.10.0.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 3.1 以降をインストールした後、cmd コマンドプロンプトを開き、SDK フォルダに移動してビルドフォルダを作成し、cmake .. を実行して必要なファイルを生成します。 次の図に例を示します。

    cmake01

    説明
    • SDK パッケージには、alibabacloud-oss-cpp-sdk.sln プロジェクトファイルは含まれていません。 cmake コマンドを使用して、必要なプロジェクトファイルを生成する必要があります。

    • x64 アーキテクチャ用にビルドするには、cmake -A x64 .. コマンドを使用します。

  2. VS 開発者コマンドプロンプトを管理者として開きます。 ビルドフォルダで、次のコマンドを実行して SDK をコンパイルおよびインストールします。

    msbuild ALL_BUILD.vcxproj
    msbuild INSTALL.vcxproj

    または、Visual Studio で alibabacloud-oss-cpp-sdk.sln ファイルを開いてソリューションをビルドすることもできます。

Android

Linux 環境では、android-ndk-r16 ツールチェーンを使用してプロジェクトをビルドします。 $ANDROID_NDK/sysroot パスに libcurl および libopenssl 依存ライブラリをインストールしてから、次のコマンドを実行して SDK をコンパイルおよびインストールする必要があります。

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 フォルダにインストールされている場合は、次のコマンドを実行して SDK をコンパイルおよびインストールします。

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

Run-Time Type Information (RTTI) をサポートします。 デフォルト値は ON です。

OSS_DISABLE_BUCKET

バケット関連の設定インターフェイスをビルドしません。 デフォルト値は OFF です。 コードサイズを削減するには、このオプションを ON に設定します。

OSS_DISABLE_LIVECHANNEL

LiveChannel インターフェイスをビルドしません。 デフォルト値は OFF です。 コードサイズを削減するには、このオプションを ON に設定します。

OSS_DISABLE_RESUAMABLE

再開可能な転送インターフェイスをビルドしません。 デフォルト値は OFF です。 コードサイズを削減するには、このオプションを ON に設定します。

OSS_DISABLE_ENCRYPTION

クライアントベースの暗号化インターフェイスをビルドしません。 デフォルト値は OFF です。 コードサイズを削減するには、このオプションを ON に設定します。