TarsCpp 编译
1. 概述
使用TarsCpp实现服务之前, 需要先编译TarsCpp代码, 如果你是通过源码编译和安装的框架(TarsFramework), 那么TarsCpp应该已经被编译过.
如果TarsCpp发布了新版本, 通常你可以只升级TarsCpp, 而不需要升级TarsFramework.
2. 多平台支撑
TarsCpp 完成 linux, mac, windows(>=WIN7)三个 OS 系统的的支撑, 你可以在这些平台上编写和调试程序, 但是你发布到服务器上的程序必须对应服务器系统编译出来的.
2.1 cmake 安装
TarsCpp 在三个 OS 系统都是通过 cmake 来编译, 请先检查 cmake 版本号
cmake --version
请使用 cmake > 3.2 以上的版本
cmake 官网下载地址如下: https://cmake.org/download/
注意 cmake 编译过程中会根据开关自动下载 TARS 依赖的包, 比如我的 cmake 输出:
mkdir build
cd build
cmake ..
----------------------------------------------------
CMAKE_BUILD_TYPE: Debug
PLATFORM: mac
INSTALL_PREFIX: /usr/local/tars/cpp
----------------------------------------------------
TARS_MYSQL: ON
TARS_HTTP2: OFF
TARS_SSL: OFF
TARS_PROTOBUF: OFF
----------------------------------------------------
CMAKE_SYSTEM_NAME: Darwin
CMAKE_SYSTEM_PROCESSOR: x86_64
CMAKE_CXX_COMPILER_ID: Clang
ABI_STR: sysv
BF_STR: macho
CPU_STR: x86_64
JUMP_SRC: asm/jump_x86_64_sysv_macho_gas.S
MAKE_SRC: asm/make_x86_64_sysv_macho_gas.S
CMAKE_C_SIZEOF_DATA_PTR: 8
----------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/jarod/centos/TarsCpp/cmake-build-debug
其中 TARS_MYSQL, TARS_HTTP2, TARS_SSL, TARS_PROTOBUF 可以根据需要打开或者关闭, 比如打开 SSL 的支持:
mkdir build
cd build
cmake .. -DTARS_SSL=ON
如此你编译的 TARS 就支持 ssl, 具体 ssl 说明请参见
注意目前发现 cmake-3.16.4 版本会有 bug, 建议不要使用!
3 linux & mac 编译
完成 cmake 安装或升级后, 下载源码:
git clone https://github.com/TarsCloud/TarsCpp.git --recursive
cd TarsCpp;
mkdir build;
cd build;
cmake ..
make -j4
make install
注意 make install 后相关的依赖库(包括 mysql, nghttp2, ssl)的头文件和 lib 库(静态库)都会安装到 /usr/local/tars/cpp/include & /usr/local/tars/cpp/lib 目录下
4 window 编译
下载源码
git clone https://github.com/TarsCloud/TarsCpp.git --recursive
windows 强烈建议使用 vs2019, vs2019 自动和 cmake 有整合, 使用 vs2019 打开 CMakeLists.txt 即可完成编译.
如果采用 vs2019 IDE 形式编译, 请注意修改 CMakeSettings.json(vs2019 加载 CMakeLists.txt 时生成) 修改: generator: Ninja -> Visual Studio 16 2019
如果你的 vs 低于 vs2019, 请使用如下方式编译:
cd TarsCpp;
mkdir vs_build;
cd vs_build;
cmake .. -G "Visual Studio 16 2019"
cmake --build . --config release
#install
cmake --build . --config release --target install
注意: Visual Studio 16 2019 可以选择你需要的版本, 可以用 cmake .. -G 查看
5 实现业务服务
完成TarsCpp以后, 你可以基于TarsCpp编译出来头文件和lib库实现自己的业务服务了, 请参考