linux grpc c++编译安装

本文档详细介绍了在CentOS 7.4系统中,如何使用g++ 4.8.5编译并安装gRPC v1.29.1。由于github访问缓慢,采用了代理镜像加速下载源码及其第三方依赖库,包括protobuf、gflags、gtest等。在确保依赖库下载完成后,通过`make`和`make install`进行编译安装。最后验证proto编译工具protoc的安装,并提供了遇到问题时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境信息:

1、操作系统:centos7.4

2、g++版本:4.8.5

grpc v1.29.1 版本 源码下载:(因为国内现在访问github速度很慢,这里用了代理镜像)

git clone -b v1.29.1 https://hub.xn--gzu630h.xn--kpry57d/grpc/grpc.git

配套三方依赖库下载:

cd grpc
git submodule update --init

具体依赖的三方库信息可以通过以下方式查看:

cd grpc
vim .gitmodules
[submodule "third_party/zlib"]
        path = third_party/zlib
        url = https://hub.xn--gzu630h.xn--kpry57d/madler/zlib
        # When using CMake to build, the zlib submodule ends up with a
        # generated file that makes Git consider the submodule dirty. This
        # state can be ignored for day-to-day development on gRPC.
        ignore = dirty
[submodule "third_party/protobuf"]
        path = third_party/protobuf
        url = https://hub.xn--g
### 安装 gRPC for C++ #### 准备工作 为了准备安装gRPC C++环境,需要先安装一系列依赖工具和库。对于基于Debian的Linux发行版如Ubuntu,可以通过包管理器`apt-get`来获取这些必要的组件: ```bash sudo apt-get update sudo apt-get install build-essential autoconf libtool libgflags-dev \ libgtest-dev clang libc++-dev pkg-config unzip ``` 上述命令会安装编译所需的基础构建工具以及一些特定于gRPC的支持库[^3]。 #### 获取并配置 Protobuf 由于gRPC使用Protocol Buffers作为接口定义语言(IDL),因此还需要安装Protobuf编译器及其运行时库。这一步骤同样适用于大多数Linux系统: ```bash # 下载最新稳定版本的protobuf源码 wget https://github.com/protocolbuffers/protobuf/releases/download/v21.5/protobuf-all-21.5.tar.gz tar -xf protobuf-all-21.5.tar.gz cd protobuf-21.5/ ./configure make -j$(nproc) # 使用所有可用CPU核心加速编译过程 make check # 运行测试套件验证安装正确性 sudo make install # 将文件复制到系统的标准位置 sudo ldconfig # 刷新共享库缓存以便立即生效新安装的内容 ``` 此部分操作确保了ProtoBuf被正确设置好,并且可以供后续gRPC项目调用[^4]。 #### 编译安装 gRPC 库 接下来就是实际编译gRPC本身的过程,在克隆官方仓库之后执行如下指令即可完成整个流程: ```bash git clone -b v1.47.0 https://github.com/grpc/grpc.git --recurse-submodules cd grpc mkdir -p cmake/build && cd cmake/build cmake ../.. make -j$(nproc) sudo make install ``` 这里特别需要注意的是要指定具体的分支标签号(例如v1.47.0),以保证兼容性和稳定性;同时通过参数`--recurse-submodules`同步子模块数据[^2]。 至此,已经完成了gRPC C++开发环境的基本搭建工作,现在可以在本地环境中创建新的服务端或客户端应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值