安装SDK工具包
运行环境
BOS C++ SDK 依赖开源第三方库,包括 curl、OpenSSL、uuid、jsoncpp。其中,jsoncpp 可在 thirdlib 文件夹下编译并安装。
SDK 目录结构
1├─example // 使用示例
2├─include // 头文件
3│ └─bcesdk
4│ ├─auth // BCE 签名相关类
5│ ├─bos // SDK 服务相关类
6│ │ ├─model // BCE 公用 model 类
7│ │ ├─request // SDK 请求类
8│ │ └─response // SDK 响应类
9│ ├─common // 日志相关和文件工具类,如文件输入输出流
10│ ├─http // BCE 的 HTTP 通信相关类
11│ ├─model // BOS 内部 model,如 request 或 response
12│ └─util // BCE 公用工具类
13├─msvc // Windows Visual Studio 相关
14├─src // 源码路径
15│ ├─auth
16│ ├─bench
17│ ├─bos
18│ │ ├─model
19│ │ ├─request
20│ │ └─response
21│ ├─http
22│ ├─model
23│ └─util
24├─thirdlib // 第三方库路径
25│ └─json // Linux 下 json 依赖库路径
安装 SDK
在官网下载 BOS C++ SDK 工具包。
Linux CentOS 用户安装指南
依赖公共库安装:
1sudo yum install gcc-c++
2sudo yum install autoconf
3sudo yum install automake
4sudo yum install libuuid-devel
5sudo yum install openssl-devel
6sudo yum install libcurl-devel
7sudo yum install cmake
执行以下命令即可在 thirdlib 中生成 jsoncpp 库:
1cd thirdlib/json
2cmake ./jsoncpp-1.9.0/
3make
4make install
基于 autotools 环境构建
- 执行
sh autogen.sh生成configure。 - 执行
configure,添加必要的选项,比如--prefix或CXXFLAGS等。 - 执行
make和make install,将在对应路径生成include和lib。
编译引用
- 如果没有安装到 GCC 默认路径下,则在
CXXFLAGS里使用-L指定lib路径,使用-I指定include路径。 - 在
LDFLAGS里指定-lbossdk。 - C++ 需要 C++11 及以上环境,可使用
CC=或CXX=指定高版本 GCC 或 G++ 编译器。
如果直接写编译命令,也可以直接指定 -L、-I、-l。
Linux Ubuntu & Debian 用户安装指南
依赖公共库安装:
1sudo apt-get -y install build-essential
2sudo apt-get install autoconf
3sudo apt-get install uuid-dev
4sudo apt-get install libssl-dev
5sudo apt-get install libcurl4-openssl-dev
6sudo apt-get install cmake
执行以下命令即可在 thirdlib 中生成 jsoncpp 库:
1cd thirdlib/json/
2cmake ./jsoncpp-1.9.0/
3make
4make install
基于 autotools 环境构建
- 执行
sh autogen.sh生成configure文件。 - 执行
configure,添加必要的选项,比如--prefix或CXXFLAGS等。 - 执行
make和make install,将在对应路径生成include和lib。
编译引用
- 如果没有安装到 GCC 默认路径下,则在
CXXFLAGS里使用-L指定lib路径,使用-I指定include路径。 - 在
LDFLAGS里指定-lbossdk。 - C++ 需要 C++11 及以上环境,可使用
CC=或CXX=指定高版本 GCC 或 G++ 编译器。
如果直接写编译命令,也可以直接指定 -L、-I、-l。
Windows 用户安装指南
环境准备
- 安装 Visual Studio 2012 或更高版本。
- 安装 CMake 3.1 或以上版本。
thirdlib已经包含所需第三方库(curl、jsoncpp),如需要其它版本,请到官方网站下载。
快速体验
- 解压
thirdlib目录下的windows_dependency.zip到thirdlib下。 - 双击
example\example.sln。
编译使用
- 解压
thirdlib目录下的windows_dependency.zip到thirdlib下。 -
在含有
CMakeLists.txt的文件夹(SDK 的总目录)下,创建build目录。Bash1mkdir build 2cd build -
生成目标
sln。执行
cmake -G <type> ..,根据所安装的 Visual Studio 版本和编译平台选择不同的<type>。生成 Visual Studio 2015 的
sln:Bash1cmake -G "Visual Studio 14 2015" ..生成 Visual Studio 2013 且编译目标为 64 位的
sln:Bash1cmake -G "Visual Studio 12 2013 Win64" ..参数详见 CMake 帮助文档。
-
编译:直接使用 CMake 编译,或手动打开
bossdk.sln。Bash1cmake --build . -
结果生成:编译结果将生成在代码根目录的
output文件夹下。结构如下:Text1output 2├── include 3│ └── bcesdk 4│ ├── auth 5│ ├── bos 6│ │ ├── model 7│ │ ├── request 8│ │ └── response 9│ ├── common 10│ ├── http 11│ ├── model 12│ └── util 13└── lib 14 ├── x64 15 │ ├── Debug 16 │ └── Release 17 └── x86 18 ├── Debug 19 └── Release -
使用 SDK。
编译:把
output/include添加到include目录下。链接:主动链接
bossdk.lib、jsoncpp.lib、LIBCURL.LIB。执行:把
LIBCURL.DLL放到目标exe同一个目录下。
低于 Visual Studio 2012 的编译问题
- 低于 Visual Studio 2005 将存在大量问题,强烈不建议使用。
- 必须使用 Windows SDK 7.1 或以上版本。
- 需要解决
stdint.h不存在问题,并替换少量 CRT 函数,如strtoull、strtoll等。
卸载 SDK
卸载 SDK 时,删除 output 路径。
评价此篇文章
