当前位置: 首页 > news >正文

protobuf新版下载安装

文章目录

  • 新版本Protobuf 已从 Autotools 迁移到 CMake 构建系统
  • 安装依赖
  • 下载源码
  • 检查是否已有 third_party 目录
  • 若目录不存在,手动创建
  • 下载 abseil-cpp
  • 解压并重命名
  • 继续下载 utf8_range 并重复类似步骤
  • 正确的目录结构:
  • 然后回到protobuf-26.1目录
  • 生成 Makefile
  • 编译并安装
  • 验证

新版本Protobuf 已从 Autotools 迁移到 CMake 构建系统

所以新版本protobuf解压出来以后没有autogen.sh

安装依赖

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

下载源码

wget https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protobuf-26.1.tar.gz
tar -xzf protobuf-26.1.tar.gz
#进入protobuf-26.1目录
cd protobuf-26.1

检查是否已有 third_party 目录

ls -l third_party/

若目录不存在,手动创建

mkdir -p third_party

下载 abseil-cpp

wget https://github.com/abseil/abseilcpp/archive/refs/tags/20230802.0.tar.gz -O third_party/abseil-cpp.tar.gz

解压并重命名

cd third_party
tar -xzf abseil-cpp.tar.gz
mv abseil-cpp-20230802.0 abseil-cpp
cd ..

继续下载 utf8_range 并重复类似步骤

wget https://github.com/protocolbuffers/utf8_range/archive/refs/tags/v1.0.0.tar.gz -O third_party/utf8_range.tar.gz
cd third_party
tar -xzf utf8_range.tar.gz
mv utf8_range-1.0.0 utf8_range
cd ..

正确的目录结构:

third_party/
├── abseil-cpp/
│   ├── CMakeLists.txt
│   └── ...
└── utf8_range/
    ├── CMakeLists.txt
    └── ...

然后回到protobuf-26.1目录

mkdir build && cd build

生成 Makefile

# 禁用测试以加速编译
cmake .. -Dprotobuf_BUILD_TESTS=OFF

编译并安装

make -j$(nproc)
sudo make install
sudo ldconfig

验证

protoc --version
http://www.dtcms.com/a/99090.html

相关文章:

  • 网络通信微服务
  • 【商城实战(95)】Ansible自动化运维,开启高效部署新篇章
  • 3D Gaussian Splatting部分原理介绍和CUDA代码解读(一)——3D/2D协方差和高斯颜色的计算
  • LeetCode 56. 合并区间 | 排序+贪心解法详解
  • 创意 Python 爱心代码分享
  • el-table 动态给每行增加class属性
  • C++ vector容器总结
  • 诠视科技MR眼镜如何使用VLC 进行RTSP投屏到电脑
  • 【从零实现Json-Rpc框架】- 项目实现 - muduo网络通信类实现篇
  • 黑盒测试的测试用例构成的八点要素
  • 突破数据迁移瓶颈!AWS Snowball如何让PB级数据“瞬间”上云?
  • 12款星光闪光污迹艺术绘画效果Clip Studio Paint笔刷画笔+闪光纹理图片 Clip Studio Glitter Texture Brushes
  • INAV电流计校准
  • sqlalchemy:将mysql切换到OpenGauss
  • 使用dumpbin和depends查看dll(exe)的依赖
  • 代码随想录算法训练营第二十八天,动态规划理论基础,509.斐波那契数,70.爬楼梯,746.使用最小花费爬楼梯。
  • OpenAI API - Practice
  • 【全栈开发】—— Paddle OCR 文字识别 + deepseek接入(基于python 最新!!!)
  • 【STL】vector介绍(附部分接口模拟实现)
  • 【C#】`Task.Factory.StartNew` 和 `Task.Run` 区别
  • Ubuntu和Windows实现文件互传
  • HTML基础及进阶
  • 【C++】基础3——正则表达式,静态多态(函数重载和模板),异常处理
  • EverEdit扩展脚本:“AI翻译”插件,让EverEdit自由翻译
  • 排序--归并排序--非递归
  • RAG - 五大文档切分策略深度解析
  • Spring Boot自动配置原理解析
  • Oracle数据库数据编程SQL<3.2 PL/SQL 匿名块中的DML操作、动态SQL、实际应用场景、使用技巧>
  • matplotlib标题比x,y轴字体大,明明标题字体更大?
  • pr--打开视频后没有声音输出