2012-11-28 183 views
10

我無法找到在Windows x64平臺上安裝Google協議緩衝區(包括編譯器)的明確說明。在Windows上安裝協議緩衝區

編譯器:

我通過編譯器和源的說明README文件去要安裝,只需某處把這個二進制文件在PATH

我添加系統變量路徑: PROTOC 'C:\ dev_tools \ protoc-2.4.1-win32'

我一直在使用Cygwin安裝協議緩衝區源代碼。我試着按照自述文件中提供 Unix的指令:

要建立和安裝C++ Protocol Buffer的運行和議定書 緩衝編譯器(protoc)執行以下命令:

$的./configure $使 $使檢查 $ make install的

如果「做檢查」失敗了,你仍然可以安裝,但很可能 這個庫的一些功能將無法在系統上正常工作。 繼續您的風險。

「make install」可能需要超級用戶權限。

有關configure和make的高級使用信息,請參閱INSTALL.txt。

**上安裝位置提示**

默認情況下,包將被安裝到/ usr /本地。但是,在許多平臺上,/ usr/local/lib不是LD_LIBRARY_PATH的一部分,因此,在許多平臺上的 。 您可以添加它,但只需安裝到/ usr 即可。要做到這一點,調用配置如下:

的./configure --prefix =/USR

我得到'-bash:的./configure:沒有這樣的文件或目錄' 能有人提供明確和詳細的步驟,使這項工作?

--------------- UPDATE -----------------

我切換到使用MSYS/MINGW32取而代之的是 我遵循link中的說明。現在我堅持以下幾點:

當我運行「的./configure」命令我得到以下錯誤:
檢查如何運行C++預處理器.../lib目錄/ CPP
配置:錯誤:C++預處理器「/ lib/cpp」無法進行完整性檢查'

因此,make,make install命令都不起作用。
例如:make:*沒有指定目標,也沒有找到生成的文件。停止。**

感謝

+2

驚人的文檔有多糟上安裝此。這是可悲的。 –

回答

2

有Windows上編制的protobuf整個文檔文件:

你需要的7-Zip,CMake和視覺工作室。

無論如何,使用持續集成工具(如Travis或Appveyor)的一個意想不到的副作用是始終存在最新的可用構建腳本。只要存在文件,我總是會查看appveyor.ymltravis_config.yml文件。

>>> git clone -b v3.1.0 https://github.com/google/protobuf.git 
>>> cd protobuf 
>>> curl -L -o release-1.7.0.zip https://github.com/google/googlemock/archive/release-1.7.0.zip 
>>> 7z x release-1.7.0.zip 
>>> del /Q release-1.7.0.zip 
>>> rename googlemock-release-1.7.0 gmock 
>>> curl -L -o release-1.7.0.zip "https://github.com/google/googletest/archive/release-1.7.0.zip" 
>>> 7z x release-1.7.0.zip 
>>> del /Q release-1.7.0.zip 
>>> rename googletest-release-1.7.0 gtest 
>>> move gtest gmock 
>>> set generator=Visual Studio 12 Win64 
>>> set vcplatform=x64 
>>> mkdir build_msvc 
>>> cd build_msvc 
>>> cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% ../cmake 
>>> msbuild protobuf.sln /p:Platform=%vcplatform% || goto error 

你需要curlGit Bash有它),以及作爲解決路徑的7z.exeMsbuild.exe可執行文件。

我成功設法建立一個Windows 10的x64機器上的protobuf編譯器與Visual Studio 2015年

+1

它是否也適用於'java' protobuf編譯器安裝..看起來你正在給解決方案安裝'C++'編譯器 –

+0

沒有java protobuf編譯器:編譯器是用C++編寫的,並且有一個嵌入了結果運行時的java綁定。我沒有測試Java綁定,因爲我無法在Java和Maven中勝任 – lucasg