博客
关于我
Linux下protobuf和 protobuf-c安装使用
阅读量:792 次
发布时间:2023-02-02

本文共 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。

    转载地址:http://sfzfk.baihongyu.com/

    你可能感兴趣的文章
    Linux——进程控制
    查看>>
    Linux——进程池
    查看>>
    Linux——静态库
    查看>>
    Linux—文件系统
    查看>>
    Linux、Linux操作系统、GUN、GPL
    查看>>
    Linux、Windows渗透测试靶场手动搭建实战(附靶场安装包与安装脚本)
    查看>>
    linux一切皆文件之Unix domain socket描述符(二)
    查看>>
    Linux上Java的安装与配置
    查看>>
    linux上传下载覆盖文件的命令
    查看>>
    linux上修改容器网卡docker0为固定ip
    查看>>
    Linux上压缩目录以及目录下的所有文件
    查看>>
    linux上可以运行dll吗
    查看>>
    Linux上在文件夹上层新建一个同名目录
    查看>>
    linux上安装eclipse并配置mapreduce程序开发环境
    查看>>
    Linux上安装Git时bash: ./cofigure.ac: No such file or directory的解决
    查看>>
    Linux上安装mysql
    查看>>
    linux上安装mysql glibc版本安装
    查看>>
    Linux上安装TeamViewer
    查看>>
    Linux上怎样停止服务(jar包)、查看进程路径、关闭指定端口
    查看>>
    Linux上怎样实现文件夹重命名
    查看>>