前记:熬夜踩坑,特记于此,以飨后人。
官方文档可以参考:
https://github.com/grpc/grpc/blob/master/BUILDING.md#build-from-source
https://grpc.io/docs/languages/cpp/quickstart/
下载
- git clone https://github.com/grpc/grpc.git
主要问题是速度慢,可以参考:
gRPC编译和安装——Linux版
https://blog.csdn.net/w13l14/article/details/118155498
https://blog.csdn.net/huanglin6/article/details/119799994
-
主要有两个办法:
a. 取消ssl验证:git config --global http.sslVerify false
b. 改网址:git clone https://gitclone.com/github.com/grpc/grpc.git -
submodule 下载:
git clone https://github.com/grpc/grpc.git
cd grpc
git submodule update --init
git submodule update --init --recursive //确保库下载完全
cd third_party
git submodule update --init --recursive
如果速度慢,手动到third_party 下载如下:
git clone https://gitclone.com/github.com/cncf/xds.git
git clone https://gitclone.com/github.com/google/re2.git
git clone https://gitclone.com/github.com/google/protobuf.git
git clone https://gitclone.com/github.com/open-telemetry/opentelemetry-proto.git
git clone https://gitclone.com/github.com/google/googletest.git
编译
Linux
更新cmake version
官方有提醒,不过很容没注意到
解释下:如果你的CMake低于3.13,那么将无法使用module mode来安装依赖库。
笔者考虑到gRPC的第三方依赖库很多,一个一个安装很累。所以直接选择升级CMake
同时因为不能影响到其它正常使用以前版本的项目,在下载完成后不要instasll
输入:
export $PATH=/opt/cmake_3.24.2/bin:PATH
cmake --version
设置 CMAKE_INSTALL_PREFIX
官方文档上也有醒目的提醒,这样做也有利于之后example项目的编译。
编译安装
1.注意使用 -j 利用多处理器来加快编译速度。
2.install因为要写入文件到系统(虽然已经指定了MY_INSTALL_DIR),所以需要sudo -s 取得root权限。
export MY_INSTALL_DIR=$HOME/.local
export PATH="$MY_INSTALL_DIR/bin:$PATH"
cd grpc
mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \
../..
make -j
make install
popd
编译example/helloworld
https://grpc.io/docs/languages/cpp/quickstart/#build-the-example
# Change to the example’s directory:
$ cd examples/cpp/helloworld
# Build the example using cmake:
$ mkdir -p cmake/build
$ pushd cmake/build
$ cmake -DCMAKE_PREFIX_PATH=$MY_INSTALL_DIR ../..
$ make -j
编译error
error提示缺少absl 头文件
solution: 将\grpc\third_party\abseil-cpp\absl 中的头文件移动到 $home.local\include\
Windows
建议参考:
https://blog.csdn.net/w13l14/article/details/118155498文章来源:https://www.toymoban.com/news/detail-457142.html
Log
window:
linux:
export GRPC_TRACE=all
export GRPC_VERBOSITY=debug文章来源地址https://www.toymoban.com/news/detail-457142.html
到了这里,关于gRPC下载编译和安装——Linux/Windows的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!