ubuntu上如何安装Protobuf C++

要在ubantu上安装并使用C++Protobuf,你需要先安装protobuf 编译器(protoc)protobuf C++ 库。具体的安装步骤如下:

  1. 首先,你需要安装一些必要的工具和库。在终端中运行以下命令:
sudo apt-get update
sudo apt-get install autoconf automake libtool curl make g++ unzip
  1. 下载protobuf的源代码。:

如果你本机网络较为流畅可以直接在终端运行下面命令:

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz

或者直接访问Github下载:

v3.17.3

也可以选择其他版本,但是需要确保其发布的releases结构和下图一样

在这里插入图片描述

  1. 解压下载的文件,并进入解压后的目录:
tar -xvf protobuf-all-3.17.3.tar.gz
cd protobuf-3.17.3
  1. 配置并编译protobuf
chmod +x configure
./configure
make

大概需要编译10分钟。

  1. 检查编译是否成功(可选):

大概也需要测试10分钟。

make check
  1. 安装 protobuf:
sudo make install
  1. 更新系统的动态链接库:
sudo ldconfig
  1. 验证安装:
protoc --version

显示 protobuf 版本号则证明安装成功。

  1. 简单测试能否正常使用

创建test_pb.proto文件。

// 声明版本信息
syntax = "proto3";

// 声明namespace
package testpb;

message TestMessage {
    string ttname = 1;
}

使用protoc编译器编译test_pb.proto文件。

protoc test_pb.proto --cpp_out=.

test_pb.cc文件

# include <iostream>
# include "test_pb.pb.h"

// C++会将在.proto文件中定义的package理解为namespace。
using namespace testpb;

int main () {
    TestMessage tm;
    tm.set_ttname("Test pass.");

    // 序列化
    std::string test;
    tm.SerializeToString(&test);

    // 输出
    std::cout << test << std::endl;
}

g++编译。

g++ test_pb.cc test_pb.pb.cc -o test_pb -lprotobuf

运行可执行文件

./test_pb

输出:


Test pass.
  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值