2011-08-03 55 views
7

我的构建服务器是基于Linux的。我需要protoc将它集成到我的基于ant的构建系统。如何获得protoc(协议缓冲区)的预编译linux二进制文件?

我用下面的build.xml中的相同:

<exec executable="tools/protoc.exe" failonerror="true"> 
     <arg value="--java_out=../protos/java/generated" /> 
     <arg value="--proto_path=../protos/proto" /> 
     <arg value="../protos/proto/*.proto" /> 
    </exec> 

我发现窗户二进制,但没有找到Linux二进制的protoc。

任何帮助找到一个或建立静态链接protoc二进制将很好。

回答

7

您是否尝试过下载main protobuf project并遵循installation instructions?我似乎记得这是很简单的,如果你只需要二进制:

$ ./autogen.sh 
$ ./configure 
$ make 

(你可能不需要在这种情况下make install,如果你只需要protoc二进制只是找出它的建成和复制。它。)

+0

不protoc依赖于其他库?这个protoc二进制文件将在开发环境中与各种linux版本一起工作。 ? – YoK

+0

@YoK:我相信* protoc是依赖关系静态链接的。一个二进制文件是否可以与各种linux版本一起工作无疑取决于你正在讨论的组合 - 但这至少是值得尝试的。 –

+0

嗯,那种情况下,我看到的只是...每个开发人员都需要构建protoc。但是我们为构建服务器构建protoc并检查它。 – YoK

5

最新版本的预编译二进制文件位于GitHub官方releases page上。以前的版本可以在Maven repository上找到。

编辑2017年10月19日:没有关于V3.4.1(目前最新版本)没有预编译的二进制,但释放页指出This is mostly a bug fix release on runtime packages. It is safe to use 3.4.0 protoc packages for this release.二进制文件v3.4.0可以通过进一步向下滚动页面找到。

+5

不,这些文件夹中没有** protoc **二进制文件。 –

+0

文件说,他们需要在那里,但我也没有找到protoc二进制 –

+0

@IgorGanapolsky看到我的编辑。 – Ben

0

在Ubuntu上(自12.04起),您可以在存储库中找到protobuf-compiler

sudo apt-get install protobuf-compiler 

$> protoc --version 
libprotoc 2.6.1 

而且你可能也想安装的头文件:

sudo aptitude install libprotobuf-dev