go protobuff

Go使用ProtoBuff

发现Google Code上面有针对Go语言的Protobuff实现

code.google.com/p/goprotobuf

下面说下安装过程:

go get code.google.com/p/goprotobuf

之后提示no Go source files

执行

go install code.google.com/p/goprotobuf/proto

在Go的安装目录pkg下产生对应路径的proto.a文件

执行

go install code.google.com/p/goprotobuf/protoc-gen-go

在Go的安装目录pkg下产生对应路径的protoc-gen-go文件夹
 

在Go的bin目录产生protoc-gen-go.exe,使用google protobuf编译产生的protoc程序,将protoc.exe和protoc-gen-go.exe拷贝至同一目录

执行 protoc --plugin=protoc-gen-go=protoc-gen-go.exe --go_out=./ xx.proto

参考:

http://www.cnblogs.com/zhangqingping/archive/2012/10/28/2743274.html
 

ps:之前一直是linux可以正确执行,windows不可以,原因是linux不需要添加--plugin=protoc-gen-go=protoc-gen-go.exe选项指定插件的路径

经测试,protobuf 2.3和2.4是兼容protoc-gen-go的

贴一个批处理:protogo.bat

@echo off
if not exist %1 goto :Use
if not exist %2 goto :Use
if not exist %3 goto :Use

%GOROOT%\bin\protoc.exe  --plugin=protoc-gen-go=%GOROOT%\bin\protoc-gen-go.exe --go_out=%1 --proto_path=%2 %3
goto :End

:Use
echo use: 1、go-out-dir 2、proto-dir 3、proto-file

:End


你可能感兴趣的:(Go,protobuff)