grpc cmake编译初体验

  |   0 评论   |   0 浏览

背景

初体验

环境

Ubuntu 18.04.6 LTS (Bionic Beaver)

软件准备

cmake

安装cmake > 3.11,本文安装最新版本 cmake 3.26.3

wget https://github.com/Kitware/CMake/releases/download/v3.26.3/cmake-3.26.3-linux-x86_64.sh
sh cmake-3.26.3-linux-x86_64.sh

cmake安装很简单,此处略过。

grpc环境准备

sudo apt install openssl libssl-dev pkg-config

grpc 1.52.0源码下载

git clone -b v1.52.0 --depth=1  https://github.com/grpc/grpc.git
cd grpc
git submodule update --init --recursive

如果网络不好,需要使用socks5代理的话,可以这样设置[1]

git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

这里建议先自行备份下grpc目录,如果下面的失败了,还能再来。

grpc 1.52.0源码编译

编译

mkdir -p cmake/build
cd cmake/build
cmake -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DBUILD_SHARED_LIBS=ON -DgRPC_BUILD_TESTS=OFF - **DgRPC_ZLIB_PROVIDER** =package - **DgRPC_PROTOBUF_PROVIDER** =package - **DgRPC_SSL_PROVIDER** =package ../..

确认编译成功

cd ~/build/grpc/examples/cpp/helloworld
mkdir build
cd build
cmake ..
make
$ ./greeter_server
Server listening on 0.0.0.0:50051
$ ./greeter_client
Greeter received: Hello world

cmake参数

指定编译参数ASan

cmake -DCMAKE_CXX_FLAGS="-g -O0 -fsanitize=address -fno-omit-frame-pointer" -DCMAKE_PREFIX_PATH=~/opt/grpc ..

查看编译参数

make VERBOSE=1

参考

  1. grpc cmake编译安装(ubuntu 18.04)