我如何得到一个预编译的linux二进制协议(协议缓冲区)



我的构建服务器基于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>

我找到了windows binary,但是没有找到linux binary for protocol。

任何帮助找到一个或构建静态链接的协议二进制文件将是很好的。

您是否尝试下载主protobuf项目并遵循安装说明?我似乎记得,如果你只需要二进制:

,这是非常简单的:
$ ./autogen.sh
$ ./configure
$ make

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

最新版本的预编译二进制文件在GitHub的官方版本页面上。以前的版本可以在Maven存储库中找到。

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

在Ubuntu(从12.04开始),你可以在存储库中找到protobuf-compiler

sudo apt-get install protobuf-compiler
$> protoc --version
libprotoc 2.6.1

你可能想要安装头文件:

sudo aptitude install libprotobuf-dev

如果您只想为任何平台编译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

1)从url https://github.com/protocolbuffers/protobuf/releases下载二进制文件

2)提取并保留目录在特定位置(/user/app/protoc)

3)在/usr//中添加条目。Bash_profile as

export PROTOC_HOME=/user/app/protoc
export PATH=$PROTOC_HOME/bin:$PATH
4)刷新文件$source /usr/<username>/.bash_profile

另一个选项是下载存储库后依次执行以下命令:

sudo rm -rf ./protoc
unzip protoc-3.10.1-linux-x86_64.zip -d protoc
chmod 755 -R protoc
BASE=/usr/local
sudo rm -rf $BASE/include/google/protobuf/
sudo cp protoc/bin/protoc $BASE/bin
sudo cp -R protoc/include/* $BASE/include

最新更新