Learning——protobuf的下载

目录

一、protobuf在windows下安装

1.下载地址

2.配置环境变量

①打开设置

②搜索框中搜索编译环境变量

③ 点击“环境变量”

④ 找到PATH并双击打开编辑

 ⑤配置环境变量后点击确定

3.检验是否安装成功

二、protobuf在Linux下安装

1.库依赖安装

2.下载地址

我不能使用上述方法怎么办?

3.下载完成后,解压zip包: 

4.开始安装protobuf

我的make check操作出错了怎么办

5.性能测试成功​编辑

6.配置修改

7.重新执行 /etc/profile 文件:

8.检查是否安装成功


一、protobuf在windows下安装

1.下载地址

https://github.com/protocolbuffers/protobuf/releases?page=6

博主使用的是21.11版本,读者可根据自己情况自行下载。由于访问的是github上的项目有些读者可能没办法获取,博主会上传资源到CSDN,读者根据情况自行下载

下载windows版本的压缩包到本地,而后解压打开。

图1        压缩包内容

2.配置环境变量

把解压后的bin目录路径编辑到PATH中去

①打开设置

②搜索框中搜索编译环境变量

③ 点击“环境变量”

④ 找到PATH并双击打开编辑

 ⑤配置环境变量后点击确定

3.检验是否安装成功

打开cmd输入:

protoc --version

能查看到版本信息就说明安装成功 

二、protobuf在Linux下安装

1.库依赖安装

在开始之前确保安装了一下依赖库autoconf automake libtool curl make g++ unzip

Ubuntu用户:

sudo apt-get install autoconf automake libtool curl make g++ unzip -y

Centos用户:

sudo yum install autoconf automake libtool curl make gcc-c++ unzip

2.下载地址

https://github.com/protocolbuffers/protobuf/releases?page=6

 读者可根据自己情况自行安装,这里我们希望安装全语言支持的版本故在cmd中使用下列命令

wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-
21.11.zip 

我不能使用上述方法怎么办?

若不能下载,可以下载本博文上传的资源,资源中有相关压缩包。

下载后输入解压码:111

点击进入文件夹

如果你是Linux云服务器:

输入以下指令上传本地文件,如下图所示

rz
向云服务器上传本地文件

找到你下载的对应版本的protobuf压缩包上传即可。

3.下载完成后,解压zip包:
 

unzip protobuf-all-21.11.zip 

4.开始安装protobuf

进入上一步解压缩后的文件夹,执行以下指令

# 第⼀步执⾏autogen.sh,但如果下载的是具体的某⼀⻔语⾔,不需要执⾏这⼀步。
./autogen.sh
# 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下:
# 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的
./configure
# 2、修改安装⽬录,统⼀安装在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf

再依次进行

make // 执⾏15分钟左右
make check // 执⾏15分钟左右
sudo make install

我的make check操作出错了怎么办

make操作出错

这个错误是由于protobuf有一些测试用例,来要求服务器的资源来保证protobuf工具能够正常使用,这个时候需要增加swap分区,具体操作可参考这名博主的文章:

https://blog.csdn.net/AlexWang30/article/details/90341172

(建议可以先扩大3G,再执行make check。如果还是报错,再扩大到5G重新执行make check )

5.性能测试成功

6.配置修改

到此,需要你回忆⼀下在执行configure时,如果当时选择了第⼀种执行方式,也就是 ./configure ,那么到这就可以正常使用protobuf了。如果选择了第⼆种执行方式,即修改了安装目录,那么还需要在/etc/profile 中添加⼀些内容:

执行命令:

sudo vim /etc/profile

对文件中写入:


# 添加内容如下:
#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执⾏程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头⽂件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头⽂件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

7.重新执行 /etc/profile 文件:

source /etc/profile

8.检查是否安装成功

输入以下命令:

protoc --version

安装成功: 



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot中的请求过滤filter与拦截interceptor分析

首先我们要定义一个类,实现标准的过滤器 import lombok.extern.slf4j.Slf4j;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;WebFilter("/*") Slf4j public class AuthFilter implements Filter {Overr…

Elasticsearch 索引模板

文章目录 前言Elasticsearch 索引模板1. 作用2. 示例3. 查询索引模板4. 测试 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的…

html+css+js网页设计 故宫7个页面 ui还原度100%

htmlcssjs网页设计 故宫7个页面 ui还原度100% 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1…

Anaconda安装和环境配置教程(深度学习准备)

目录 1.下载选择 2.prompt配置 3.虚拟环境配置 4.检查是不是安装成功 5.安装jupter 6.关闭anaconda重新进入 7.总结 1.下载选择 我第一次使用的这个官网上面的邮箱的方式下载的,但是这个方式真的特别慢,于是用了这个清华的镜像网站,网…

K8S日志收集

本章主要讲解在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志,包括程序直接输出到控制台日志、自定义文件日志等。 一、有哪些日志需要收集 为了更加方便的处理异常,日志的收集与分析极为重要,在学习日志收集之前,需要知…

GitLab 是什么?GitLab使用常见问题解答

GitLab 是什么 GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具开源项目,且具有wiki和issue跟踪功能,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 ​GitLab 是由 GitLab Inc.开发&#xff0c…

从0开始训练基于自己声音的AI大模型(基于开源项目so-vits-svc)

写在前面: 本文所使用的技术栈仅为:Python 其他操作基于阿里云全套的可视化平台,只需要熟悉常规的计算机技术即可。 目录 Step 1:注册及登录阿里云主机 Step 2:找到大模型项目 Step 3:创建大模型环境实例 Step 4:进入Ai_singer教程 Step…

C语言之猜数字小游戏

哈喽,大家好!我是冰淇淋加点糖。今天我们来用前面所学的知识来开发一个猜数字的小游戏,锻炼我们的编程能力和编程思维。 猜数字小游戏功能简介 1.随机生成一个1-100的数字。 2.玩家用户开始猜数字。 > 猜大了,提醒猜大了…

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-27浅谈XILINX BRAM的基本使用

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

C#/WinForm 演示遗传算法

一、一览 二、遗传算法流程 种群初始:随机生成一组N个DNA,每个DNA上都有S个基因,每个DNA都有自己的r值(适度值)。r最大的DNA为种群最优。 选择操作:将每个DNA的r值占总体的比例作为新一代选取的概率&#…

2024 【Delphi 12】苹果ios开发环境配置(五星保姆级)

目录 一、创建证书 1. 创建证书签名请求:(在苹果电脑上操作): .certSigningRequest 文件 2. 创建证书:在苹果的 开发者网站 上操作 重复以上步骤并下载对应的证书文件如下: 3. 创建标识符(…

Debezium+Kafka:Oracle 11g 数据实时同步至 DolphinDB 运维手册

目前我们已经支持基于开源技术 Debezium Kafka,从 Mysql 和 Oracle 11g 实时同步数据到 DolphinDB 中。由于当前方案涉及到四个程序的部署,而且具体的 Source 同步任务和 Sink 同步任务还需要额外管理,在运维上具有一定难度。 本文将基于 O…

Ecology10中的CAS身份认证问题

单点登录(SSO)是一种身份验证解决方案,可让用户通过一次性用户身份验证登录多个应用程序和网站。实现SSO的方式有很多种,比如Kerberos、SAML、OAuth2、JWT、OpenID、CAS、LDAP等。 CAS CAS (Central Authentication Service) 最初…

西中区2024年度安全知识竞赛活动方案

为有效预防安全生产事故的发生,深化西中区全体员工对安全生产的认识,切实提升全体人员的安全意识和自我保护能力,夯实安全知识基础,丰富安全文化内涵,推动安全生产工作更加规范化、系统化,根据西中区安全生…

git 回滚的三种方式

按照从旧到新的顺序 你依次提交了 1 2 3 4 5 现在你想回到1 如何操作 第一种方法 hard reset git reset --hard 执行命令后 你会发现 效果实现了 东西都回到了那次更改 但是2345的更改都没了 并且你会发现 你有更新 这是因为这个hard reset 只会改本地的 远程的不改 一更新就…

EasyCVR视频汇聚平台:巧妙解决WebRTC无法播放H.265视频的难题

随着科技的飞速发展,视频监控已经成为现代安全管理不可或缺的一部分,广泛应用于智慧工地、智慧煤矿、智慧工厂、智慧社区和智慧校园等多个领域。在这个过程中,视频编码技术和实时通信技术显得尤为重要。EasyCVR视频汇聚平台,凭借其…

Python爬虫(一文通)

Python爬虫(基本篇) 一:静态页面爬取 Requests库的使用 1)基本概念安装基本代码格式 应用领域:适合处理**静态页面数据和简单的 HTTP 请求响应**。 Requests库的讲解 含义:requests 库是 Python 中一个…

机器人外呼有哪些优势?

机器人外呼,作为一种结合了计算机技术和人工智能技术的自动化工具,具有多重显著优势。以下是其主要优势的详细阐述: ### 1. 高效性 * **大幅提升工作效率**:机器人外呼可以全天候、不间断地进行工作,不受时间、地点和…

pytest+pycharm+HTMLTestReportCN实现接口自动化

前提:已安装pycharm,已配置python环境 第一步:新建一个py类,用来执行all的测试用例 import HTMLTestReportCN import unittest, os, yagmail# -*- coding: utf-8 -*- """ Time : 2024/9/2 14:50 Auth …

/单元测试

承接上文 统一异常处理&#xff0c;封装结果-CSDN博客 ******************************************** 登录业务 Service public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {Resourceprivate JwtUtils j…