如何建立谷歌协议缓冲区在Windows的MinGW的?

即时通讯使用的代码块IDE作为使用MinGW建设项目。 我试着去使用谷歌协议缓冲区,但我不能甚而编译源代码的MinGW。 我怎样才能得到它呢?

自述文件说:“如果你使用Cygwin MinGW的或,按照Unix的安装说明,上面。”

但是Unix的指示说:

“要建立和安装C ++协议缓冲运行时和协议缓冲编译器(protoc)执行以下命令:

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

我不知道如何在Windows做到这一点,因为“配置”是一个脚本的Unix(我认​​为),我不知道如何执行它,甚至如何执行“make”命令。 我该怎么办呢?

感谢名单。

--------------解决方案-------------

下面是我工作:

  1. 您需要使用MinGW MSYS安装。 这是一个很小的类Unix shell环境,可用于配置/让大多数UNIX包。 阅读关于如何安装MinGW的文档(无论是使用MinGW-get或者GUI安装程序)。
  2. 一旦你已经安装MSYS,你应该在你的开始菜单,名为“MinGW的壳”的一条捷径。 打开一个bash的控制台。
  3. 解压缩源码包到你的MSYS主目录。 我MinGW的安装在“D:\ PROG”,所以该目录是“D:\ PROG \ MinGW的\ MSYS \ 1.0 \家庭\ <用户名>”。 你可以告诉从shell提示您MSYS的用户名。 完成后,你应该有一个目录“D:\ PROG \ MinGW的\ MSYS \ 1.0 \家庭\ <用户名> \的protobuf-2.4.1”。
  4. 在shell提示符下,更改为protobuf的目录:

    cd protobuf-2.4.1

  5. 运行配置脚本(注意反引号):

    ./configure --prefix=`cd /mingw; pwd -W`

    --prefix paramater确保protobuf的安装在MinGW的目录树,而不是MSYS目录,这样你就可以建立MSYS壳外(例如,使用码块...)

  6. 运行make:

    make

  7. 安装:

    make install

  8. 而已。 您现在应该能够protobuf的编译您的项目。
    你应该能够:

    • 调用protoc从您的项目/ Makefile文件
    • #include <google/protobuf/message.h>等。
    • 与链接-lprotobuf-lprotobuf-lite

HTH
彼得

编辑:这带来多一点是最新的。 我试图建立一个新的PC与MinGW和protobuf的2.5.0的最新版本,这些都是我的问题:

  1. 有在开始菜单中没有“MinGW的壳”快捷方式。
    出于某种原因,目前MinGW的安装不安装它。
    但是有一个msys.bat<Mingw home>\msys\1.0带来了一个bash控制台。 创建快捷方式到批处理文件的某个地方。
  2. 的gcc不会从MSYS壳工作。
    我不得不手动运行安装后批处理文件并回答问题存在。 这将设置的安装目录的MinGW的MSYS环境fstab中的条目。
    你需要运行<Mingw home>\msys\1.0\postinstall\pi.bat
  3. 我的杀毒软件查杀干扰了protobuf的编译。
    它抱怨产生protoc.exe是一个“TR / Crypt.XPACK.Gen”木马和阻止存取权限到该文件,从而导致损坏的版本。
    我得到错误信息说像protoc:./.libs/lt-protoc.c:233: FATAL: couldn't find protoc.尝试启动protoc时。
    我不得不禁用实时查杀扫描仪和make clean && make && make install再次

希望这可以帮助!
彼得

在我的情况彼得的回答并没有完全正常工作,我用了最新的MinGW 4.8.1 +的分布MSys的(在选定的两个包MSys的mingw-get )。

我的问题是,前缀并没有真正的工作,我只能找到文件C:\MinGW\msys\1.0\local 。 但是,复制的bin后/包括/库文件夹复制到c:\mingw,安装工作对我来说,太。

我有同样的问题,我通过建立使用boost构建协议缓冲区解决它。 这工作得很好,我可以为协议缓冲区提供了一个Jamfile中。

我仍然有问题,虽然是延长升压建那么它产生的原始文件的cpp源文件,但这是另一回事。

分类:C# 时间:2012-01-01 人气:2
本文关键词: MinGW的,协议缓冲区
分享到:

相关文章

  • 如何从可视化谷歌协议缓冲区中的数据? 2012-01-01

    我想储存使用谷歌协议缓冲区(另一种序列化格式会工作,太)数据,然后有一个用户界面来浏览数据. 是否有一个C ++框架/ API,让我做到这一点? 例如,它可以使用的protobuf的反射界面,然后在数据填补成Qt的QTableView中(或从另一工具包). 我可以写我自己这样的代码 - 然而,更愿意我会重新使用现有的代码,这就是为什么我寻求建议在这里! 还是有可以想像这是通过一些反射API访问数据更普遍的UI工具箱? --------------解决方案------------- Wiresha

  • 在协议缓冲区可用在F#? 2012-02-15

    只是好奇 - 是协议缓冲区可用在F#? 什么注意事项等? --------------解决方案------------- 这里没有列出的F#具体的一个,但有一个OCaml的,或者是有.NET"将军"一(protobuf网). 说实话,我根本就没有得到解决,以试图protobuf网与F#的对象,部分是因为我根本不知道够不够F#,但是如果你可以创建波苏斯他们应该工作. 他们将需要有某种形式的可变性(甚至只是私人的可变性)与protobuf网工作,虽然. 如果你很高兴来生成一个C#DTO,只

  • 协议缓冲区:如何定义数据类型? 2012-02-28

    我trynig写出具有哪些没有被定义为一个类型为协议缓冲区中的日期字段原文件. 我已阅读下面的帖子,但我无法弄清楚,适合我一个妥善的解决办法:使用什么小数和日期时间与协议缓冲区的最好方法? 我想在原文件转换为Java. --------------解决方案------------- 我在链接的答案后,主要涉及到protobuf网; 但是,因为你在这个从Java未来我会建议:保持简单. 对于日期,我只想用时间(也许毫秒)进入一个划时代建议(1970年1月1日是传统). 对次,只是大小在同一单位(毫

  • 使用协议缓冲区和先进的节俭划线? 2012-03-20

    我有两个问题: 问题1: - 可以节俭提供了一个内部​​类的功能? (看下我的例子) - 如果可以,可以节约使用这些功能,容易吗? 这里是文士接口(划线/ IF / scribe.thrift). 但其信息字段只能是字符串,我认为不够灵活. #!/usr/local/bin/thrift --cpp --php ## Copyright (c) 2007-2008 Facebook ... ... ## See accompanying file LICENSE or visit the Scr

  • 协议缓冲区多态性 2012-03-29

    我有一个C ++程序发出的各种活动,如StatusEvent和DetectionEvent不同的原消息定义,消息服务(目前活动MQ,通过ActiveMQ的-CPP APU). 我想写接收这些信息,分析它们,并将其写入来清点,用于调试一个消息监听器. 听者status_event_pb.h和detection_event_pb.h联系. 我的问题是:如何分析接收到的事件,而不知道它的类型? 我想要做类似的信息(伪代码) receive event type = parseEventType(eve

  • 使用协议缓冲区作为一般的数据对象? 2012-05-09

    我们引进协议缓冲区为一些后端RPC服务的新的运输. 因为有阻力不同形式的同类对象之间穿梭手动的数据,我可以预见的协议缓冲区实例传递堆栈高一点不仅仅是对RPC服务器接口. 这是不是说我应该尽量避免? 它是安全的像对待一个普通的数据持有人的协议缓冲区对象,具有很好的便利性,它可以快速有效地转化为进出二进制? 我把它看作是一个很好的方式来产生数据对象的另一个原因是,必需/可选字段的概念,并自动生成Builder界面. --------------解决方案------------- 那么,他们是不是非常

  • 如何使用谷歌协议缓冲区带有Java ME? 2012-05-24

    我已经设计了使用谷歌协议缓冲区的协议,现在想写一个Java ME的客户端. 但这个实现,我发现受到严格限制. 它不允许枚举,嵌套的消息,是非常基本的这违背了使用它的目的. 是有java的我的另一种实现协议的缓冲区. --------------解决方案------------- 嗯......我不知道Java,我的故事是缺乏; 你可能要问的特定群体. 第三方网页列出了可能是值得一试另一个. 当然,你可以写自己;-p(是:我知道,失败的目的,甚至进一步,我开玩笑地说是半个这里......近半...

  • 空指针异常打印时/访问协议缓冲区 2012-06-04

    我在尝试打印出的协议缓冲区时以下NullPointerException异常: Exception in thread "main" java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at

  • 使用痛饮绑定谷歌协议缓冲区 2012-06-21

    我正在写一个需要处理大量小而复杂的protobuf编码的邮件的Python程序. 我试图用协议缓冲区,这是写在纯Python的Python实现,但其性能实在太可怕了. 于是我找成,显然一些人开始工作的解决方案 - 利用protoc生成C ++文件,然后使用痛饮与蟒蛇来包装它们. 问题是,我不能去工作Python模块. 当运行与痛饮-includeall ,以确保所有生成的消息类使用的谷歌基础/实用工具类也得到包裹-痛饮失败,抱怨丢失的系统文件,包括(如"字符串"). 我不能变通解决此用

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.361 (s). 10 q(s)