Centos安装Protobuf 3.0.0
一、安装
1.系统及版本
Centos 7.0
protobuf 3.0.0
安装参考于此博客
2.下载protobuf安装包
3.上传到Centos
4.安装过程
//解压到/home文件夹下
cd /home
tar -zxvf protobuf-3.0.0-alpha-4.tar
// 因为文件名过程,修改下文件名,并进入
mv protobuf-3.0.0-alpha-4.tar protobuf-3.0.0
cd protobuf-3.0.0
// 运行 autogen.sh,用于生产configure
./autogen.sh
此时,正在下载gmock,但是因为 autogen.sh 中下载gmock 的地址是在Google上,会看到一直下载,但进度为零。这时候需要修改gmock的下载地址,参考博客
修改完,重新运行./autogen.sh
结果如下:
原因:缺少autoreconf命令,系统中没有安装 auto tools。因 Protobuf 也需要安装其他的开发依赖(例如C++等),因此在系统中安装开发工具包(Development tools)
yum groupinstall Development tools -y
安装完成后在运行: ./autogen.sh
这时候发现 ** configure **终于出现了,执行
//预编译到/usr/protubuf 目录下
./configure --prefix=/usr/protobuf
//安装
make && make install
安装到此结束
二、使用
小尝试(以java练习):
创建 .proto 文件,此文件定义了我们程序中需要处理的结构化数据
例如:
syntax = 'proto3';
package com.hzy;
message friend{
required string name = 1;
required string sex = 1;
required string phone = 3;
optional int32 age = 4;
}
message friendList{
repeated friend flist = 1;
}
解释:
syntax = 'proto3'; 是指定 protobuf的版本
package 类似java中的包
required 必须属性
optional 可选属性
repeated 可重复
注意每个语句后必须有 ;
号结束
因为是练习,不配置protobuf的路径了,直接通过protobuf所在路径调用
//调用 protobuf 生产java文件
/usr/protobuf/bin/protoc --java_out = ./ friend.proto
运行完之后,会发现生产一个 /com/hzy/friend.java 的文件