本文介绍 TOS C++ SDK 的下载地址及安装方式。
安装 TOS C++ SDK 前,请确保您已安装以下依赖:
注意
C++ SDK 暂不支持在 Android 系统安装使用。
注意
SDK 依赖 libcurl 和 openssl 两个库。在构建 SDK 之前,请确保您已安装这两个库。
下载源码。您可以通过以下方式下载源码:
git clone https://github.com/volcengine/ve-tos-cpp-sdk
执行以下命令,使用 CMake 3.1 及以上版本构建。
cd ve-tos-cpp-sdk mkdir build cd build
注意
C++ SDK 暂不支持在 Linux ARM 系统安装使用。
执行以下命令安装 libcurl 和 openssl。
# 对于 Ubuntu/Debian 系统 sudo apt-get install libcurl4-openssl-dev libssl-dev # 对于 Centos7 yum install libcurl-devel openssl-devel # 对于 Redhat/Fedora 系统 sudo dnf install libcurl-devel openssl-devel
执行以下命令进行编译及安装。
cmake ../ -DCMAKE_INSTALL_PREFIX="自定义安装路径" make make install
在 macOS 系统中,您可以使用 brew 方式来安装依赖库。
在 macOS 系统上需指定 openssl 库的路径。假设 OpenSSL 安装在 /usr/local/Cellar/openssl@3/3.0.0
目录中,则可执行以下命令编译。
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl@3/3.0.0 -DOPENSSL_LIBRARIES=/usr/local/Cellar/openssl@3/3.0.0/lib -DOPENSSL_INCLUDE_DIRS=/usr/local/Cellar/openssl@3/3.0.0/include -DCMAKE_INSTALL_PREFIX="自定义安装路径" make make install
请以管理员身份运行 VS 开发人员命令提示符,在 build 目录文件下运行以下命令进行编译安装。
cmake ../ msbuild ALL_BUILD.vcxproj msbuild INSTALL.vcxproj
默认关闭,CMake 默认只编译静态库。打开后,CMake 会同时编译静态库和动态库,同时 SDK 会链接到动态库。
cmake .. -DBUILD_SHARED_LIB=ON
注意
当前在 Windows 环境下不支持 BUILD_SHARED_LIB 编译选项。
默认关闭。打开后,CMake 会对 example 文件夹中的示例进行编译,可直接运行。具体见 example 文件夹中示例。
cmake .. -DBUILD_DEMO=ON
默认关闭。打开后 CMake 会编译test文件夹中的单测用例。注意如果需要编译单测部分,要求 cmake 大于3.14。
cmake .. -DBUILD_UNITTEST=ON
要升级到 TOS C++ SDK V2,需要修改客户端初始化方式。相比于 V1 版本, V2 版本具有以下特点:
说明
后续新增加特性不会在 V1 版本迭代,建议您使用 V2 版本。
客户端初始化 TosClient 客户端如下。
#include "TosClient.h" using namespace VolcengineTos; int main(void){ std::string endpoint = "Your Endpoint"; std::string region = "Your Region"; // 从环境变量中获取访问密钥 std::string accessKey = std::getenv("TOS_ACCESS_KEY"); std::string secretKey = std::getenv("TOS_SECRET_KEY"); // 初始化 SDK InitializeClient(); // 初始化交互的 client TosClient client(endpoint, region, accessKey, secretKey); /* 使用 SDK */ // 关闭 SDK CloseClient(); return 0; }
客户端初始化 TosClientV2 客户端如下。
#include "TosClientV2.h" using namespace VolcengineTos; int main(void){ // 初始化 TOS 账号信息 // Your Region 填写 Bucket 所在 Region std::string region = "Your Region"; std::string accessKey = std::getenv("TOS_ACCESS_KEY"); std::string secretKey = std::getenv("TOS_SECRET_KEY"); // 初始化 SDK InitializeClient(); // 初始化交互的 client TosClientV2 client(region, accessKey, secretKey); /* 使用 SDK */ // 关闭 SDK CloseClient() return 0; }
注意
升级到 V2 的客户端初始化参数有所变化,endpoint 参数由 Client V1 中的首个必选参数,修改为了 Client V2 中的可选参数。如您仍需指定 endpoint,具体步骤,请参见设置可选参数。