2011-08-03 54 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