Ale*_*lex 20 c++ mingw protocol-buffers
我正在使用Codeblocks作为我的MingGW IDE.我正在尝试使用谷歌协议缓冲区,但我在构建protobuf时遇到了麻烦.
protobuf的自述文件说:
如果您使用的是Cygwin或MinGW,请按照上面的Unix安装说明进行操作.
Unix指令说:
要构建和安装C++ Protocol Buffer运行时和Protocol Buffer编译器(protoc),请执行以下命令:
$ ./configure $ make $ make check $ make install
我不知道如何在Windows中执行这些操作,因为"configure"是一个Unix脚本,我不知道如何执行它,或者其他命令.
有人可以更详细地解释如何在Windows上使用MinGW构建protobuf吗?
Pet*_*ers 26
这对我有用:
您需要使用mingw安装MSYS.这是一个类似于unix的最小shell环境,允许您配置/生成大多数unix包.阅读有关如何安装它的mingw文档(使用mingw-get或GUI安装程序).
一旦安装了MSYS,就应该在开始菜单中有一个名为"MinGW Shell"的快捷方式.这会打开一个带有bash的控制台.
将源tarball解压缩到MSYS主目录.我在"D:\ prog"中安装了mingw,因此目录是"D:\ prog\MinGW\msys\1.0\home\<username>".您可以从shell提示符中告诉您的MSYS用户名.完成后,您应该有一个目录"D:\ prog\MinGW\msys\1.0\home\<用户名>\protobuf-2.4.1".
在shell提示符下,切换到protobuf目录:
cd protobuf-2.4.1
运行configure脚本(注意反引号):
./configure --prefix=`cd /mingw; pwd -W`
该--prefixparamater确保protobuf的安装在MinGW的目录树,而不是MSYS目录,这样你就可以建立MSYS壳外(例如用代码块...)
运行make:
make
安装:
make install
而已.您现在应该能够使用protobuf编译项目.
你应该能够:
protoc从您的项目/ makefile 调用#include <google/protobuf/message.h> 等等-lprotobuf或链接-lprotobuf-liteHTH
彼得
编辑:更新一点.我尝试使用当前版本的MinGW和protobuf 2.5.0设置一台新PC,这些都是我遇到的问题:
开始菜单中没有"MinGW Shell"快捷方式.
由于某些原因,当前的MinGW安装无法安装.
但是有一个msys.bat在<Mingw home>\msys\1.0这带来了一个bash的控制台.在某处创建该批处理文件的快捷方式.
gcc无法从MSYS shell运行.
我必须手动运行安装后的批处理文件并回答那里的问题.这将设置在MSYS环境中挂载mingw目录的fstab条目.
你需要跑<Mingw home>\msys\1.0\postinstall\pi.bat
我的Avira防病毒软件干扰了protobuf编译.
它抱怨生成的protoc.exe是一个"TR/Crypt.XPACK.Gen"木马并阻止了对该文件的访问,导致构建损坏.
我收到错误消息说像protoc:./.libs/lt-protoc.c:233: FATAL: couldn't find protoc.尝试启动protoc时.
我不得不禁用Avira实时扫描仪和make clean && make && make install再
编辑#2:
这个帖子已经老了很多,而且mingw不再等于mingw了.在这个时代,我宁愿推荐MSYS2,它带有一个ArchLinux的pacman包管理器的端口,一个最新的,更好的工作(c ++ 11 std :: thread support!)mingw fork for 32和64 bit,and一个protobuf包,你只需要安装并保持良好状态.
去这里下载!
希望这可以帮助!
彼得