在 Windows 上安装协议缓冲区更新

2022-09-01 00:01:45

我无法找到在Windows x64平台上安装Google协议缓冲区(包括编译器)的明确说明。

我浏览了编译器和源代码的自述文件的说明:

对于编译器:要安装,只需将此二进制文件放在PATH中的某个位置

我向 Path 添加了系统变量:

PROTOC 'C:\dev_tools\protoc-2.4.1-win32'

我被困在使用Cygwin安装协议缓冲区源。我尝试按照自述文件中提供的Unix指令进行操作:

要构建并安装C++协议缓冲区运行时和协议缓冲区编译器 (protoc),请执行以下操作:

$ ./configure
$ make
$ make check
$ make install

如果失败,您仍然可以安装,但此库的某些功能可能无法在您的系统上正常工作。继续操作的风险由您自行承担。make check

make install可能需要超级用户权限。

有关配置和进行的高级用法信息,请参阅 INSTALL.txt。

** 安装位置提示 **

默认情况下,该软件包将安装到 /usr/local。但是,在许多平台上,/usr/local/lib 不是LD_LIBRARY_PATH的一部分。您可以添加它,但只需安装到 /usr> 可能会更容易。为此,请按如下所示调用配置:

./configure --prefix=/usr

我得到

-bash: ./configure: No such file or directory'

有人能提供明确而详细的步骤来使这项工作发挥作用吗?

更新

我改用MSYS / MINGW32,并按照此链接中给出的说明进行操作。现在我坚持以下几点:

当我运行'./configure'命令时,我得到以下错误:
检查如何运行C++预处理器... /lib/cpp
配置:错误:C++预处理器“/lib/cpp”未通过健全性检查”

因此,没有一个使安装命令工作。例如:

make: No targets specified and no makefile found. Stop.

答案 1

如果您只想编译ProtoBuf定义,则可以在ProtoBuf GitHub版本页面上下载所有平台的protoc预编译二进制文件

至少从2015年开始,他们就已经预编译了二进制文件,但是在多次下载之间很容易忽略它们。


答案 2

有一个完整的文档文件用于在Windows上编译protobuf:

你需要7-zip,Cmake和Visual Studio。

无论如何,使用持续集成工具(如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 Bash7z.exeMsbuild.exe

我成功地在Windows 10 x64机器上用Visual Studio 2015构建了protobuf编译器。


推荐