如果您需要管理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系統
安裝CMake並通過CMake產生目標平台的構建指令碼。
下載CMake安裝包。
以下以安裝CMake 3.21.1版本為例,如需下載其他版本,請對應替換版本號碼。
wget https://cmake.org/files/v3.21/cmake-3.21.1.tar.gz解壓CMake安裝包檔案。
tar xvf cmake-3.21.1.tar.gz進入CMake安裝目錄。
cd cmake-3.21.1/執行自動化構建和配置過程,用於檢查系統內容、產生Makefile檔案、配置編譯選項等。
./bootstrap根據Makefile檔案中的規則,逐個編譯原始碼檔案,產生目標可執行檔或庫檔案。
make安裝編譯產生的檔案。
sudo make install
添加環境變數。
編輯bash設定檔。
vim .bashrc配置環境變數。
CMAKE_PATH=/usr/local/cmake export PATH=$CMAKE_PATH/bin:$PATH使bash設定檔更改生效。
source .bashrc尋找並顯示在當前系統中可執行
cmake命令的路徑。which cmake
安裝依賴。
yum -y install libcurl-devel openssl-devel unzip安裝C++ 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-master安裝C++ SDK。
建立用於編譯和構建專案的目標目錄。
mkdir build切換至目標目錄。
cd build通過CMake工具產生專案的構建系統。
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產生目標平台的構建指令碼。
安裝CMake3.1及以上版本後,開啟cmd進入SDK檔案目錄,建立build檔案夾,運行cmake ..產生所需檔案,如下圖所示。
說明下載的SDK中不直接提供alibabacloud-oss-cpp-sdk.sln工程檔案,您需要通過cmake產生所需的工程檔案。
如果要構建x64體繫結構,可以使用命令cmake -A x64 ..來實現。
請以管理員身份運行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 ..
makemacOS系統
在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。 |