如何为protoc(协议缓冲区)获取预编译的linux二进制文件?

问题描述 投票:7回答:5

我的构建服务器是基于linux的。我需要protoc将它集成到我的基于ant的构建系统中。

我在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>

我找到了windows二进制文件,但是没有为protoc找到linux二进制文件。

找到一个或构建静态链接的protoc二进制文件的任何帮助都会很好。

java ant protocol-buffers
5个回答
6
投票

您是否尝试过下载main protobuf project并关注installation instructions?我似乎记得,如果你只需要二进制文件,这非常简单:

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

(在这种情况下你可能不需要make install,如果你只需要protoc二进制文件。只需找出它的构建位置并复制它。)


3
投票

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


1
投票

对于java,您还可以使用已包含不同平台的二进制文件的https://github.com/os72/protoc-jar


1
投票

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

sudo apt-get install protobuf-compiler

$> protoc --version
libprotoc 2.6.1

您可能还想安装头文件:

sudo aptitude install libprotobuf-dev

0
投票

如果您只想为任何平台编译protoc二进制文件,请按照下列步骤操作:

在protobuf项目目录下

./autogen.sh
cd protoc-artifacts
./build-protoc.sh linux x86_64 protoc

有一次,protoc.exe建在protobuf/protoc-artifacts/target/linux/x86_64/protoc重命名为protoc

mv protobuf/protoc-artifacts/target/linux/x86_64/protoc.exe protobuf/protoc-artifacts/target/linux/x86_64/protoc
© www.soinside.com 2019 - 2024. All rights reserved.