首先下载Protobuf并解压
github.com/protocolbuffers/protobuf.git
在linux中安装需要的依赖
apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
切换到刚才下载好的protobuf中执行命令: ./autogen.sh
然后执行 ./configure
再然后执行 make
经过漫长的时间等待后(可以泡一杯茶,慢慢等)期间有警告,没事,我们不怕警告,只怕panic
最后执行 make install
OK,一切完成,为了同步数据(刷新共享库),我没有重启机器,而是执行了这个命令:ldconfig
好了,一切成功,让我们看看效果吧执行命令:
一切ok
安装与编译阶段完成了,开始测试!!!
获取Golang的proto包github.com/golang/protobuf/proto
将它放在src/github.com/golang下 如图:
进入到protoc-gen-go中 输入go build,产生一个可执行文件
将这个编译出来的可执行文件移动或者复制到linux下的/bin/中
打开Goland
新建一个文件夹,命名为StudyProtoc
在文件夹中新建文件test.proto
syntax = "proto3";//指定版本
option go_package = ".;StudyProto";//版本3与版本2不一样,第一个参数为将药生成的.pb.go文件在当前目录下,例如:(写成../便是在上级目录中生成.pb.go文件)第二个参数为指定的包名,一般与文件夹名相同
massage person{
string name = 1;
int32 height = 2;
repeated int32 score = 3;//对应go中切片类型
}
编写完成,开始测试,打开终端
输入: protoc --proto_path=./ --go_out=./ test.proto //注意空格
最后在当前文件夹下出现:
一切ok