ubuntu 安装protobuf

apt 安装

sudo apt install protobuf-compiler

编译安装

– 方式1

资料链接:ubuntu环境 安装ncnn_ubuntu ncnn_jbyyy、的博客-CSDN博客

git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh

./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

查看protobuf版本自动检测
protoc --version


ps1: 上面git clone的方式可以直接下安装包即可,如方式2(这两种方式其实是一样的,仅是下载方式和一点环境配置不一样(环境配置按需要来,其实不用专门配置))

ps2: 这里make check 时可能会报错(如下),但这个问题是可以忽略的。。。
在这里插入图片描述

– 方式2

Ubuntn下安装protobuf和使用详解_小小码农Come on的博客-CSDN博客

① 下载protobuf

sudo wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz

② 解压protobuf-all-3.19.4.tar.gz

tar -zxvf protobuf-all-3.19.4.tar.gz

③ 编译安装

cd protobuf-3.19.4
sudo ./autogen.sh
sudo ./configure --prefix=$INSTALL_DIR  #--prefix指定安装目录,一般不需要
sudo make
sudo make check
sudo make install
PS:若不指定--prefix, 默认是安装在/usr/local/bin、/usr/local/lib和/usr/local/include/google/protobuf 中的。ps2: 若未指定--prefix后,不想配置环境变量,使用时可能会报 找不到 libprotoc.so.30 和 libprotobuf.so.30,需要将其映射到/usr/lib/x86_64-linux-gnu才行,如下:ln -sf /usr/local/lib/libprotoc.so.30 /usr/lib/x86_64-linux-gnu/libprotoc.so.30ln -sf /usr/local/lib/libprotobuf.so.30 /usr/lib/x86_64-linux-gnu/libprotobuf.so.30

④ 配置环境变量和动态连接库

  • 更改环境变量:

    vim /etc/profile

    在文件的末尾添加如下的两行: (把bin路径和pkgconfig路径添加到系统PATH)

    export PATH=$PATH:/home/fwq/softs/protobuf/bin (安装路径)

    export PKG_CONFIG_PATH=$INSTALL_DIR/lib/pkgconfig/

  • 配置动态链接库

    vim /etc/ld.so.conf

    在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加)

    $INSTALL_DIR/lib

更改完成之后ldconfig即可

⑤ 查看是否安装成功

protoc --version

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

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

相关文章

关于php8的数据类型转换

目录 1、数据类型介绍 1.1 简单数据类型: 1.2 复合数据类型: 1.3 特殊数据类型: 2、数据类型转换 2.1 自动转换: 2.2 强制(手动)转换: 3、验证数据类型途径 (1)var…

2024年第3周农产品价格监测报告

一、摘要 农产品价格监测主要涉及对畜禽类产品、水产品、蔬菜类产品、水果类产品的价格,以周为单位,进行变化情况的数据监测。其中,蔬菜类产品共8种,分别为菜花、韭菜、豆角、西红柿、胡萝卜、土豆、大葱、葱头。 本周重点监测的…

Element组件完整引入、按需引入、样式修改(全局、局部)、简单安装less以及npm命令证书过期等

目录 一、npm 安装二、完整引入三、按需引入四、样式修改1.按需加载的全局样式修改2. 局部样式修改1. 在 css 预处理器如 less scss 等直接使用::v-deep2. 只能用在原生 CSS 语法中:/deep/ 或者 >>> 五、 拓展:npm 安装less报错,提示证书过期六…

斯拉、理想等车企大幅降价,新一轮大洗牌正在进行中 |百能云芯

2024年刚开年,各大车企就先后抛出降价大礼包!1月1日,特斯拉率先宣布调价,推出Model 3后驱现车保险补贴及低息金融政策,总优惠幅度高达2.2万元。正当大家还没有完全消化完特斯拉的调价信息后,理想汽车也宣布…

Unity中URP下的 额外灯 逐像素光 和 逐顶点光

文章目录 前言一、额外灯 的 逐像素灯 和 逐顶点灯1、存在额外灯的逐像素灯2、存在额外灯的逐顶点灯 二、测试这两个宏的作用1、额外灯的逐像素灯2、额外灯的逐顶点灯 前言 在之前的文章中,我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反…

有效的数独[中等]

优质博文:IT-BLOG-CN 一、题目 请你判断一个9 x 9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一…

Elasticsearch:介绍 kNN query,这是进行 kNN 搜索的专家方法

作者:来自 Elastic Mayya Sharipova, Benjamin Trent 当前状况:kNN 搜索作为顶层部分 Elasticsearch 中的 kNN 搜索被组织为搜索请求的顶层(top level)部分。 我们这样设计是为了: 无论分片数量多少,它总…

实现纯Web语音视频聊天和桌面分享(附源码,PC端+移动端)

在网页里实现文字聊天是比较容易的,但若要实现视频聊天,就比较麻烦了。本文将实现一个纯Web版的视频聊天和桌面分享的Demo,可直接在浏览器中运行,不需要安装任何插件。 一. 主要功能及支持平台 1.本Demo的主要功能有 &#xff…

【书生·浦语】大模型实战营——第六次作业

使用OpenCompass 评测 InterLM2-chat-chat-7B 模型在C-Eval数据集上的性能 环境配置 1. 创建虚拟环境 conda create --name opencompass --clone/root/share/conda_envs/internlm-base source activate opencompass git clone https://github.com/open-compass/opencompass cd…

【PWN · 格式化字符串|劫持fini_array|劫持got表】[CISCN 2019西南]PWN1

格式化字符串的经典利用:劫持got表。但是遇到漏洞点只能执行一次的情况,该怎么办? 前言 如果存在格式化字符串,保护机制开的不健全,通常可以劫持got表,构造后门函数。然而,如果不存在循环、栈溢…

gradle打包分离依赖jar

正常打包的jar是包含项目所依赖的jar包资源,而且大多数场景下的依赖资源是不会频繁的变更的,所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身,减小上传的jar包总大小,能实现加速部署的效果 一 原本结构 二 配置buil…

机器学习_正则化、欠拟合和过拟合

文章目录 正则化欠拟合和过拟合正则化参数 正则化 机器学习中的正则化是在损失函数里面加惩罚项,增加建模的模糊性,从而把捕捉到的趋势从局部细微趋势,调整到整体大概趋势。虽然一定程度上地放宽了建模要求,但是能有效防止过拟合…

用通俗易懂的方式讲解:使用 MongoDB 和 Langchain 构建生成型AI聊天机器人

想象一下:你收到了你梦寐以求的礼物:一台非凡的时光机,可以将你带到任何地方、任何时候。 你只有10分钟让它运行,否则它将消失。你拥有一份2000页的PDF,详细介绍了关于这台时光机的一切:它的历史、创造者、…

【计算机网络】应用层——HTTP 协议(一)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、什么是 HTTP 协…

假期刷题打卡--Day10

一、C语言刷题 预处理命令模块的题目就只有几个,下面开始选择结构这个模块的题目。 1、MT1112中庸之道 请编写一个简单程序,输入3个整数,比较他们的大小,输出中间的那个数 格式 输入格式: 输入整型,空…

linux源码编译安装llvm

目录 1 建立文件夹llvm 2 下载源码到llvm文件夹 3 解压上述文件 4 将解压后的3个文件夹改名,并移动到llvm-9.0.0.src中: 5 在llvm文件夹内建立build文件夹,并进入该文件夹: 6 执行cmake命令 7 make 8 安装 9 安装成功后…

C++中特殊类的设计与单例模式的简易实现

设计一个只能在堆上创建对象的类 对于这种特殊类的设计我们一般都是优先考虑私有构造函数。然后对于一些特殊要求就直接通过静态成员函数的实现来完成。 class A//构造函数私有(也可以析构函数私有) { public:static A* creat(){return new A;} privat…

docker容器下php框架laravel的使用问题与解决方案

DB_CONNECTIONmysqlDB_HOSTlocalhost DB_CONNECTIONmysqlDB_HOSTdocker33-mysql-1 容器中只有数据库结构 进入MySQL容器内,创建表结构,添加数据 代码层面需要转换成数组 $query->get([*])->toArray(); 分页数据框架会返回带有data的数据&#xf…

计算机网络-AAA原理概述

对于任何网络,用户管理都是最基本的安全管理要求之一,在华为设备管理中通过AAA框架进行认证、授权、计费实现安全验证。 一、AAA概述 AAA(Authentication(认证), Authorization(授权), and Accounting(计费))是一种管理框架&#…

大模型微调实战笔记

大模型三要素 1.算法:模型结构,训练方法 2.数据:数据和模型效果之间的关系,token分词方法 3.算力:英伟达GPU,模型量化 基于大模型对话的系统架构 基于Lora的模型训练最好用,成本低好上手 提…