C++ 如何构建谷歌&x27;在Windows中使用MinGW的s protobuf?
我使用代码块作为我与MingGW的IDE。 我正在尝试使用谷歌协议缓冲区, 但是我在构建protobuf时遇到了麻烦 protobuf的自述文件说: 如果您使用的是Cygwin或MinGW, 按照上面的Unix安装说明进行操作 Unix说明中说:C++ 如何构建谷歌&x27;在Windows中使用MinGW的s protobuf?,c++,mingw,protocol-buffers,C++,Mingw,Protocol Buffers,我使用代码块作为我与MingGW的IDE。 我正在尝试使用谷歌协议缓冲区, 但是我在构建protobuf时遇到了麻烦 protobuf的自述文件说: 如果您使用的是Cygwin或MinGW, 按照上面的Unix安装说明进行操作 Unix说明中说: 构建和安装C++协议缓冲区运行时和协议 缓冲区编译器(protoc)执行以下操作: 美元/配置 $make 美元支票 $make安装 我不知道如何在Windows中执行这些操作 因为“configure”是一个Unix脚本 我不知道如何执行它,或者其他
构建和安装C++协议缓冲区运行时和协议 缓冲区编译器(protoc)执行以下操作:
美元/配置
$make
美元支票
$make安装
我不知道如何在Windows中执行这些操作
因为“configure”是一个Unix脚本
我不知道如何执行它,或者其他命令
有人能更详细地解释一下
我可以在Windows上使用MinGW构建protobuf?以下是对我有效的方法:
cd协议-2.4.1
/configure--prefix=`cd/mingw;pwd-W`
--prefix
参数确保protobuf安装在mingw目录树中,而不是安装在MSYS目录中,因此您可以在MSYS外壳外部构建(例如,使用代码块…)make
make-install
您应该能够:
- 从项目/makefile调用
protoc
等#包括
- 链接到
或-lprotobuf
-lprotobuf-lite
彼得 编辑: 让这更符合时宜。我尝试用当前版本的MinGW和protobuf 2.5.0安装一台新电脑,我遇到了以下问题:
由于某些原因,当前的MinGW安装无法安装该功能。
但是在
\msys\1.0
中有一个msys.bat
,它会打开一个带有bash的控制台。在某处创建该批处理文件的快捷方式我必须手动运行一个安装后批处理文件,并在那里回答问题。这将设置在MSYS环境中装载mingw目录的fstab项。
您需要运行
\msys\1.0\postinstall\pi.bat
它抱怨生成的protoc.exe是一个“TR/Crypt.XPACK.Gen”特洛伊木马程序,并阻止了对该文件的访问,导致版本损坏。
我收到一些错误消息,如
protoc:./.libs/lt protoc.c:233:FATAL:在尝试启动protoc时找不到protoc.
。我不得不禁用Avira实时扫描仪并再次
makeclean&&make&&makeinstall
Peter我也遇到了同样的问题,我通过使用boost build构建协议缓冲区解决了这个问题。 这很好,我可以为协议缓冲区提供一个jamfile
但我仍然有问题的是扩展boost build,以便它从proto文件生成cpp源文件,但这是另一回事 在我的例子中,Peter的答案并不完全有效,我使用了最新的MingW4.8.1+MSys发行版(在
MingWget
中选择了两个MSys软件包)
我的问题是前缀没有真正起作用,我只能在
C:\MinGW\msys\1.0\local
中找到文件。但是,在将bin/include/libs文件夹复制到c:\mingw之后,
安装对我也起了作用。Thanx的答案:)我会尝试一下。好的,我做了,它起了作用:),所以Thanx的答案很多。@Peter:我试着按照你列出的步骤来做。当我运行'//Opg'命令时,我会发现以下错误:检查如何运行C++预处理器…LIb/CPP配置:错误:C++预处理器“/LIB/CPP”失败了检查,结果,make、make安装命令都不工作。例如:make:**未指定目标,也未找到makefile。停止。使用MinGW我遇到了这个问题:tar:“存档值84224超出uid范围0..65535”。事实证明cygwin支持更大的uid。如果您发现此问题,请安装cygwin并重复上述说明。哇。永远不要从Linux回到Windows。Windows真是一团糟。当前版本的protobuf源代码分发版(3.0.0-beta2)没有./configure脚本,并且autoconf
失败;有没有可能得到最新的答案?