ubuntu编译grpc & protobuf
参考:Ubuntu系统中本地编译并安装grpc的C++版本及测试 - 知乎 (zhihu.com)
安装依赖:
# 这些可能都已经安装了 sudo apt-get install pkg-config autoconf automake libtool make g++ unzip # 下面的可能没安装 sudo apt-get install libgflags-dev libgtest-dev sudo apt-get install clang libc++-dev
下载源码:
git clone -b v1.36.4 https://github.com/grpc/grpc.git cd grpc # 下载其依赖的子模块 git submodule update --init
先编译安装protobuf:
# 此时应在grpc文件夹下 cd third_party/protobuf/ # 更新依赖的子模块 git submodule update --init --recursive # 生成配置脚本 sudo ./autogen.sh # 生成makefile文件 sudo ./configure # 从makefile读取指令编译 sudo make # 可能报错,但不影响安装 sudo make check # 安装 sudo make install # 更新共享库缓存 sudo ldconfig # 查看安装的位置 which protoc #查看是否安装成功,这里输出的protoc版本应该是3.14.0 protoc --version
继续安装grpc:
进入到grpc文件夹下# 创建编译文件夹 mkdir -p cmake/build cd cmake/build cmake ../.. # 编译 make -j3 # 安装 sudo make install
测试安装成功与否:
# 进入grpc文件夹下 cd examples/cpp/helloworld mkdir build cd build # 编译 cmake .. make # 编译完成后,在文件夹下就生成了可执行文件,先执行 ./greeter_server # 再新开终端,执行 ./greeter_client # 会输出:Greeter received: Hello world # 即安装成功
如何使用:
参考上述示例中的cmakelist中的写法,在自己的项目中包含 common.cmake。 可以把这个common.cmake拷贝到自己工程中。
包含后,再显式链接一下相关库:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?