Centos8.3安装protobuf

本文档详细介绍了在CentOS 8.3上安装protobuf的步骤,包括从GitHub下载源码,解决编译工具,安装到指定目录,以及刷新共享库。此外,还讲解了Go语言环境下安装protobuf扩展包的过程,如下载、生成可执行文件,并将其添加到系统路径。最后,文章提供了一个简单的protobuf在Go项目中的使用示例,包括创建.proto文件,生成.pb.go文件,以及使用go mod管理依赖。
安装步骤(默认root用户)
  1. 从github上下载:git clone https://github.com/protocolbuffers/protobuf.git
  2. 解决编译protobuf库文件工具:autoconf automake libtool curl make g++ unzip;通过命令:yum -y install autoconf automake libtool curl make gcc-c++ unzip libffi-dev安装(如果没有yum就先安装yum,centos8.3中输入yum命令,如果未安装,会提示是否需要安装,输入y即可)
  3. 输入命令:cd protobuf进入protobuf文件夹下
  4. 输入命令:./autogen.sh进行环境检查
  5. 输入命令:../configure进行配置文件检查(最后会有警告,但问题不大,不用管)
  6. 输入命令:make编译该文件
  7. 输入命令:make install将编译后的文件安装到指定目录中(/usr/local/include/google/protobuf
  8. 输入命令:ldconfig刷新共享库(重要!)
  9. 输入命令:protoc -h,有命令选项输出即安装成功
go语言还需要安装扩展包
  1. 输入命令:go get github.com/golang/protobuf下载go的protobuf扩展包(如果无法下载,需要通过命令go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,direct打开模块和启用代理来进行下载)。下载的文件在目录/root/go/pkg/mod/github.com/golang中,其中/root/go为GOPATH(golang版本1.6)。
  2. 在目录/root/go/pkg/mod/github.com/golang/protobuf@v1.5.2/protoc-gen-go中输入命令:go build,生成名为protoc-gen-go的可执行文件。
  3. 输入命令:sudo mv protoc-gen-go /bin/将该可执行文件复制到linux的bin目录下,或者在go build后直接go install,这个可执行文件就会跑到GOPATH的bin目录下。到此即成功安装。
简单使用
  1. 创建一个go项目文件夹gotext,该文件夹下包含prototext文件夹(用来创建和生成.proto和.pb.go文件),text文件夹(用来调用prototext下创建的.pb.go。)
  2. 在文件夹prototext下创建文件text.proto,在文件中输入测试文本:
syntax = "proto3";                // proto版本
option go_package = "./;prototext";    // //两个参数一个是生成地址,一个是包名
// 文本信息
message Test {
    string name = 1;
    repeated int32 w = 2;
    int32 h = 3;
    string motto = 4;
}
  1. prototext目录下输入命令:protoc --go_out=./ *.proto,会在该目录下生成text.pb.go文件。
  2. 在文件夹text下创建文件text.go文件:
package main 
import (
    "gotext/prototext"
    "fmt"
)
func main() {
    text := &prototext.Test {
        Name: "panda",
        W: []int32 {120, 125, 198, 180, 150, 195},
        H: 180,
        Motto: "这游戏真难!",
    }
    fmt.Println(text);
}
  1. gotext目录下使用命令go mod init gotextgo mod tidy来模块化并安装依赖包。
  2. text目录下执行go run text.go可以看到信息输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值