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
CMake をインストールし、それを使用してターゲットプラットフォーム用のビルドスクリプトを生成します。
CMake インストールパッケージをダウンロードします。
次の手順では、CMake 3.21.1 を例として使用します。 別のバージョンをダウンロードするには、必要に応じてバージョン番号を置き換えることができます。
wget https://cmake.org/files/v3.21/cmake-3.21.1.tar.gzCMake インストールパッケージファイルを解凍します。
tar xvf cmake-3.21.1.tar.gzCMake インストールフォルダに移動します。
cd cmake-3.21.1/自動ビルドおよび構成プロセスを実行して、システム環境のチェック、Makefile ファイルの生成、およびコンパイルオプションの構成を行います。
./bootstrapMakefile のルールに基づいてソースコードをコンパイルし、ターゲットの実行可能ファイルまたはライブラリファイルを生成します。
makeコンパイル済みファイルをインストールします。
sudo make install
環境変数を追加します。
bash 構成ファイルを編集します。
vim .bashrc環境変数を構成します。
CMAKE_PATH=/usr/local/cmake export PATH=$CMAKE_PATH/bin:$PATHbash 構成ファイルに変更を適用します。
source .bashrccmakeコマンドの実行可能ファイルのパスを表示します。which cmake
依存関係をインストールします。
yum -y install libcurl-devel openssl-devel unzipC++ SDK をインストールします。
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"インストールパッケージファイルを解凍します。
unzip aliyun-oss-cpp-sdk-master.zipインストールフォルダに移動します。
cd aliyun-oss-cpp-sdk-masterC++ SDK をインストールします。
プロジェクトのビルドフォルダを作成します。
mkdir buildビルドフォルダに切り替えます。
cd buildCMake を使用してプロジェクトのビルドシステムを生成します。
cmake ..プロジェクトをコンパイルします。
makeコンパイル済みファイルを指定されたシステムディレクトリにインストールします。
make install
サンプルファイルをコンパイルします。
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
CMake をインストールし、それを使用してターゲットプラットフォーム用のビルドスクリプトを生成します。
CMake 3.1 以降をインストールした後、cmd コマンドプロンプトを開き、SDK フォルダに移動してビルドフォルダを作成し、cmake .. を実行して必要なファイルを生成します。 次の図に例を示します。
説明SDK パッケージには、alibabacloud-oss-cpp-sdk.sln プロジェクトファイルは含まれていません。 cmake コマンドを使用して、必要なプロジェクトファイルを生成する必要があります。
x64 アーキテクチャ用にビルドするには、cmake -A x64 .. コマンドを使用します。
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 ..
makemacOS
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 に設定します。 |