如果您需要管理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://gosspublic.alicdn.com/doc/c-sdk/aliyun-oss-cpp-sdk-master.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 ..
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。 |