#编译器要求
最新版本 coost 需要编译器支持 C++17:
#用 xmake 构建
coost 推荐使用 xmake 作为构建工具。
#快速上手
# 所有命令都在 coost 根目录执行,后面不再说明
xmake # 默认构建 libco
xmake -a # 构建所有项目 (libco, benchmark, gen, test, unitest)
另外,可以用 -v 或 -vD 让 xmake 打印更详细的编译信息:
xmake -v -a
#启用 backtrace 特性
在 Linux、macOS 上打印程序崩溃的堆栈信息,需要 libbacktrace,Linux 上较新版本 gcc 已内置 backtrace 库,macOS 上一般需要手动安装。
# 先用 xmake f 启用 backtrace 特性,再编译
xmake f --with_backtrace=true
xmake -v
#安装 libco
xmake install -o pkg # 打包安装到 pkg 目录
xmake i -o pkg # 同上
xmake install -o /usr/local # 安装到 /usr/local 目录
#编译及运行 coost 测试代码
- 单元测试代码 unitest:
xmake b unitest
xmake r unitest # 运行所有单元测试
xmake r unitest -os -json # 仅运行 os, json
- 性能基准测试代码 benchmark:
xmake b benchmark
xmake r benchmark # 运行所有基准测试
xmake r benchmark -mem -rand # 仅运行 mem, rand
- 其他测试代码 test:
# 目录下 xx.cc 用 xmake b xx 编译
xmake b flag # 编译 test/flag.cc
xmake b log # 编译 test/log.cc
xmake b json # 编译 test/json.cc
xmake b rpc # 编译 test/rpc.cc
xmake r flag -xz # 运行 flag 测试程序
xmake r log -also_log2console # 运行 log 测试程序
xmake r log -perf # log 性能测试
xmake r json # 运行 json 测试程序
xmake r rpc # 启动 rpc server
xmake r rpc -c # 启动 rpc client
#其他编译选项
执行如下命令查看支持的编译选项:
xmake f --help
#构建代码生成工具 gen
xmake b gen
cp gen /usr/local/bin/
gen hello_world.proto
#用 cmake 构建
#构建 libco
mkdir cmakebuild && cd cmakebuild
cmake ..
make -j8
#构建所有项目
mkdir cmakebuild && cd cmakebuild
cmake .. -DBUILD_ALL=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make -j8
cd bin
./unitest # 运行单元测试程序
#启用 backtrace 特性
mkdir cmakebuild && cd cmakebuild
cmake .. -DWITH_BACKTRACE=ON -DBUILD_ALL=ON
make -j8