Linux下protobuf和 protobuf-c安装使用
发布日期:2025-04-07 13:57:29 浏览次数:8 分类:精选文章

本文共 1696 字,大约阅读时间需要 5 分钟。

在Linux环境下安装及使用 protobuf 和 protobuf-c

protobuf 是一种高效、跨平台的数据序列化协议,本文将指导您在 Linux 环境下安装 protobuf 和 protobuf-c,并说明如何通过 protobuf-c 生成 C 语言文件。

1. 下载 protobuf 和 protobuf-c

protobuf 支持多种语言,但不包括 C 语言。为了支持 C 语言开发,需要使用 protobuf-c。以下是下载步骤:

1.1 protobuf 下载地址

从以下链接下载 protobuf 实现:GitHub - protobuf/protobuf: Protocol Buffers

1.2 protobuf-c 下载地址

下载 protobuf-c 实现:GitHub - protobuf-c/protobuf-c: Protocol Buffers for C

下载完成后,将压缩包解压到合适的位置。

2. 安装 protobuf

在 Linux 系统中安装 protobuf:

  • 进入下载目录:

    cd /usr/local/protobuf
  • 解压压缩包:

    tar -zxvf protobuf-all-*.tar.gz
  • 编译安装:

    cd protobuf-*.*/build/c./configure --prefix=/usr/local/protobuf/protobuf-*makemake install
  • 添加环境变量:在 ~/.bashrc 中添加:

    export PATH="$PATH:/usr/local/protobuf/protobuf-*/bin"export PKG_CONFIG_PATH="/usr/local/protobuf/protobuf-*/lib/pkgconfig"

    重新加载环境变量:

    source .bashrc
  • 验证安装:

    protoc --version

    报告输出应类似:

    libprotoc 3.x.y.z
  • 3. 安装 protobuf-c

    在 Linux 系统中安装 protobuf-c:

  • 解压压缩包并进入目录:

    cd /usr/local/protobuftar -zxvf protobuf-c-*.tar.gzcd protobuf-c-*/build/c
  • 编译安装:

    ./configure --prefix=/usr/local/protobuf/protobuf-c-*makemake install
  • 添加环境变量:在 ~/.bashrc 中添加:

    export PATH="$PATH:/usr/local/protobuf/protobuf-c-*/bin"

    重新加载环境变量:

    source .bashrc
  • 验证安装:

    protoc-c --version

    输出应类似:

    protobuf-c 1.x.y/zlibprotoc 3.x.y.z
  • 4. 生成 C 语言文件

    使用 protoc-c 工具生成 C 语言代码:

    1.创建一个用于生成的工作目录:

    mkdir -p /usr/local/protobuf/gen-protocd /usr/local/protobuf/gen-proto

    2.编辑要生成代码的 protobuf 文件:

    vi User.proto

    添加以下内容:

    syntax = "proto3";message User {    int32 sex = 1;    string name = 2;}

    3.生成 C 语言文件:

    protoc-c --c_out=. ./User.proto

    生成的文件包括:

    • User.pb-c.h
    • User.pb-c.c

    这些文件将用于在 C 语言项目中使用 protobuf 实现。

    5. 注意事项

    • 安装过程时间较长,请耐心等待。
    • 添加环境变量后,需要重新加载配置文件。
    • 确保使用与其他依赖无冲突的版本。

    通过以上步骤,您已成功在 Linux 环境下安装并使用 protobuf 和 protobuf-c。

    上一篇:Linux下ps -ef和ps aux的区别及格式详解
    下一篇:Linux下php动态添加扩展

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年05月13日 12时37分19秒