安装SDK工具包
更新时间:2023-07-13
运行环境
依赖开源的第三方库,包括curl、openssl、uuid、jsoncpp,其中jsoncpp可在thirdlib文件夹下编译并安装。
SDK目录结构
├─example // 使用示例
├─include // 头文件
│ └─bcesdk
│ ├─auth // BCE签名相关类
│ ├─bos // SDK服务相关类
│ │ ├─model // BCE公用model类
│ │ ├─request // SDK请求类
│ │ └─response // SDK响应类
│ ├─common // 日志相关和文件工具类,如文件输入输出流
│ ├─http // BCE的HTTP通信相关类
│ ├─model // BOS内部model,如request或response
│ └─util // BCE公用工具类
├─msvc // windows viusal studio相关
├─src // 源码路径
│ ├─auth
│ ├─bench
│ ├─bos
│ │ ├─model
│ │ ├─request
│ │ └─response
│ ├─http
│ ├─model
│ └─util
├─thirdlib // 第三方库路径
│ └─json // linux下json依赖库路径
安装SDK
在官网下载BOS C++ SDK工具包。
Linux Centos用户安装指南
依赖公共库安装:
sudo yum install gcc-c++
sudo yum install autoconf
sudo yum install automake
sudo yum install libuuid-devel
sudo yum install openssl-devel
sudo yum install libcurl-devel
执行以下命令即可在thirdlib中生成jsoncpp库:
cd thirdlib/json
make
make install
基于autotools环境构建
- 执行
sh autogen.sh
生成configure; - 执行
configure
,添加必要的选项,比如--prefix
或者CXXFLAGS
等; - 执行
make & make install
,将在对应路径生成include和lib。
编译引用
- 如果没有安装到gcc默认路径下,则在CXXFLAGS里使用-L指定lib路径,使用-I指定include路径;
- 在LDFLAGS里指定-lbossdk。
- cpp需要std-11及其以上环境, 可使用CC=或CXX=来指定高版本gcc或g++编译器。
如果直接写编译命令的,可也以直接指定-L -I -l
。
Linux Ubuntu & Debian用户安装指南
依赖公共库安装:
sudo apt-get -y install build-essential
sudo apt-get install autoconf
sudo apt-get install uuid-dev
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
执行以下命令即可在thirdlib中生成jsoncpp库:
cd thirdlib/json
make
make install
基于autotools环境构建
- 执行
sh autogen.sh
生成configure; - 执行
configure
,添加必要的选项,比如--prefix
或者CXXFLAGS
等; - 执行
make & make install
,将在对应路径生成include和lib。
编译引用
- 如果没有安装到gcc默认路径下,则在CXXFLAGS里使用-L指定lib路径,使用-I指定include路径;
- 在LDFLAGS里指定-lbossdk。
- cpp需要std-11及其以上环境, 可使用CC=或CXX=来指定高版本gcc或g++编译器。
如果直接写编译命令的,可也以直接指定-L -I -l
。
Windows用户安装指南
环境准备
- 安装Visual studio 2012或更高版本。
- 安装CMake3.1或以上。
- thirdlib已经包含所需要三方库(curl、jsoncpp),如需要其它版本,请到官方网站下载。
快速体验
- 解压thirdlib目录下的windows_dependency.zip到thirdlib下。
- 双击example\example.sln
编译使用
- 解压thirdlib目录下的windows_dependency.zip到thirdlib下
-
创建build目录
mkdir build cd build
-
生成目标sln cmake -G "\<type>" .. 这里要根据所安装的Visual studio 版本和编译平台,而选择不同的\<type>。
生成Visual Studio 2015的sln: cmake -G "Visual Studio 14 2015" .. 生成Visual Studio 2013编译目标是64位的sln: cmake -G "Visual Studio 12 2013 Win64"
参数详见CMake帮助文档。
- 编译: 直接使用cmake 编译 cmake --build . 或手动打开bossdk.sln。
-
结果生成: 编译结果将生成在代码根目录的output文件夹下。结构如下:
output ├── include │ └── bcesdk │ ├── auth │ ├── bos │ │ ├── model │ │ ├── request │ │ └── response │ ├── common │ ├── http │ ├── model │ └── util └── lib ├── x64 │ ├── Debug │ └── Release └── x86 ├── Debug └── 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路径。