grpc cmake编译初体验
背景
初体验
环境
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