首页 > 系统相关 >ubuntu编译grpc & protobuf

ubuntu编译grpc & protobuf

时间:2024-09-18 14:46:06浏览次数:1  
标签:cmake protobuf grpc make sudo 编译 ubuntu 安装

参考: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拷贝到自己工程中。

包含后,再显式链接一下相关库:

 

标签:cmake,protobuf,grpc,make,sudo,编译,ubuntu,安装
From: https://www.cnblogs.com/xcywt/p/18418501

相关文章

  • 群晖NAS使用Docker本地部署网页版Ubuntu系统并实现无公网IP远程访问
    文章目录前言1.下载Docker-Webtop镜像2.运行Docker-Webtop镜像3.本地访问网页版Linux系统4.群晖NAS安装Cpolar工具5.配置异地访问Linux系统6.异地远程访问Linux系统7.固定异地访问的公网地址前言本文旨在详细介绍如何在群晖NAS部署docker-webtop,并结合cpolar......
  • 如何在 Ubuntu 24 上安装 Vmware Tools
    本文首发于我的博客软件版本:VMware®Workstation17Pro17.5.2build-23775571Ubuntu版本:Ubuntu24.04LTS在VMware上安装VmwareTools按Vmware提示安装后,存在相应文件但未正常启动,于是在知乎1和VmwareDoes2上找到了其他安装方法。一卸载原VMwareTools(未安装......
  • C# 中 gRPC 的用法详解
    gRPC(GoogleRemoteProcedureCall)是一个高性能的开源RPC框架,它基于HTTP/2协议,支持多种编程语言,非常适合微服务架构。本文将带您了解如何在C#中使用gRPC,构建一个简单的示例服务。一、环境准备安装.NETSDK前往.NET官方下载页面安装最新版本的.NETSDK。安装......
  • Ubuntu怎么使用阿里源安装Docker
    环境查看系统环境#lsb_release-aNoLSBmodulesareavailable.DistributorID:UbuntuDescription:Ubuntu24.04LTSRelease:24.04Codename:noble#uname-aLinuxUbuntu22AiServer010051006.8.0-40-generic#40-UbuntuSMPPREEMPT_DYNAMICFr......
  • Ubuntu24 二进制包安装mysql5.7
    目录下载mysql添加用户和用户组创建mysql-files文件执行initialize创建配置文件启动mysql生成systemd配置修改root密码添加用户,允许从远程访问遇到问题执行initialize时报错:找不到libaio.so.1包mysql拒绝使用root用户启动mysql启动没成功,且没报错mysql启动失败:unknownvalidate_p......
  • 我使用本地windows11上的VSCode远程连接到ubuntu进行RUST程序开发,我在VSCode上安装了
    当你使用VSCode的Remote-SSH扩展从本地Windows11连接到远程的Ubuntu服务器进行开发时,插件的安装有以下行为:插件的安装位置本地插件:某些插件,例如VSCode的界面插件或与本地编辑器相关的插件,安装在你的本地Windows系统上。这些插件不需要与远程服务器交互,因此它们仅......
  • 怎样在windows上使用VSCode连接到ubuntu服务器开发并调试RUST程序?
    要在Windows上使用VSCode连接到Ubuntu服务器,开发并调试Rust程序,你可以使用VisualStudioCode的Remote-SSH扩展,这个扩展可以让你通过SSH连接到远程服务器,直接在远程服务器上进行开发、调试和执行。以下是具体步骤:1.安装VSCode和必要的扩展首先,你需要在Windo......
  • root@rust:~/EuclidOLAP/olap-engine# pwd /root/EuclidOLAP/olap-engine 如何配置ubu
    在Ubuntu中,默认的终端提示符会显示完整的当前工作目录路径(例如/root/EuclidOLAP/olap-engine)。如果你希望终端提示符只显示当前目录的名称(例如olap-engine),你需要修改PS1环境变量,该变量控制Bash提示符的外观。以下是设置提示符只显示当前目录名称的步骤:1.修改.bashrc......
  • 在ubuntu上使用apt或apt-get安装版本较新的git
    在Ubuntu上,通过apt或apt-get安装Git时,默认情况下会从官方的Ubuntu软件源获取Git的版本。然而,官方软件源中的Git版本可能不是最新的。因此,如果你想安装较新的Git版本,可以通过以下几种方法来实现:方法1:使用ppa:git-core/ppa仓库Git官方提供了一个专用的PPA(Pe......
  • 在ubuntu中安装较新版本的gcc和gdb
    要在Ubuntu中安装较新版本的GCC和GDB,可以通过以下几种方法实现。Ubuntu的默认包管理器apt提供的软件包通常不是最新的,因此需要使用PPA或手动编译以获取较新版本。方法1:使用ppa:ubuntu-toolchain-r/test安装最新版本的GCC和GDBUbuntuToolchainPPA提供了更新的......