2012-11-28 149 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