build grpc for current host

step0、参考

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakeninjagcc / GCC | Clang / LLVM
运行时glibc ( libc.sold-linux-x86-64.so )

step2、使用curl命令下载grpc源码包 (

curl -L -o grpc-1.38.1.tar.gz https://github.com/grpc/grpc/archive/refs/tags/v1.38.1.tar.gz

step3、使用tar解压grpc源码包

tar vxf grpc-1.38.1.tar.gz

step4、进入grpc-1.38.1目录

cd grpc-1.38.1

step5、查看grpc-1.38.1目录中的内容

step6、使用cmake命令配置编译参数

cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量类型默认值说明
gRPC_BUILD_TESTSBOOLON是否编译测试代码
gRPC_INSTALLBOOLON是否要安装
gRPC_ABSL_PROVIDERSTRINGmodule
module:使用内置的abseil
package:使用外部的abseil
gRPC_ZLIB_PROVIDERSTRINGmodule
module:使用内置的zlib
package:使用外部的zlib
gRPC_RE2_PROVIDERSTRINGmodule
module:使用内置的re2
package:使用外部的re2
gRPC_CARES_PROVIDERSTRINGmodule
module:使用内置的c-ares
package:使用外部的c-ares
gRPC_SSL_PROVIDERSTRINGmodule
module:使用内置的libssl
package:使用外部的libssl
gRPC_PROTOBUF_PROVIDERSTRINGmodule
module:使用内置的protobuf
package:使用外部的protobuf

示例:

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -G Ninja \
    -Wno-dev \
    -S . \
    -B build.d

step7、使用cmake命令进行编译

cmake --build build.d

step8、使用cmake命令进行安装

cmake --install build.d