当前位置: 首页 > 知识库问答 >
问题:

在Windows中使用MinGW的Google协议缓冲区

笪智志
2023-03-14

我试图在Windows上的Qt中使用google协议缓冲区。因此,我使用MingGW的msys从github编译了protobuf源代码。proto编译器(protoc)似乎工作得很好,但遗憾的是,它无法使用生成的。博士和。pb。从Qt环境中抄送文件。

将此添加到我的。pro文件:

LIBS += "C:/MinGW/msys/1.0/bin/libprotobuf-10.dll"
INCLUDEPATH += "C:/MinGW/msys/1.0/include/"

但我仍然得到“未定义的引用…”当我试图编译这个类时,它使用了所有的方法。

代码必须正确,因为它在使用protoc和Qt的linux机器上运行良好。这必须是我包括的方式。dll或我包含了一个错误的,因为标题似乎可以很好地解析。根据此帖子选择要包含的dll:http://www.ptrackapp.com/apclassys-notes/building-google-protocol/

我在这里有点迷路了,希望能有机会。

提前谢谢你。

共有1个答案

王磊
2023-03-14

通过使用以下配置前缀,最终解决了这个问题:

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

在这里找到解决方案!

 类似资料:
  • 问题内容: 我正在使用gSoap将旧式C 系统重构为SOA。我们遇到了一些性能问题(非常大的XML),因此我的领导要我看一下协议缓冲区。我做到了,它看起来非常酷(我们需要C 和Java支持)。但是协议缓冲区是仅用于序列化的解决方案,现在我需要将其发送到Java前端。从C ++和Java角度来看,我应该使用什么来通过HTTP(只是内部网络)发送那些序列化的内容? PS。另一个人试图加速我们的gSoa

  • 问题内容: 我有一个文件定义,需要导入,因为我使用“ 自定义选项”。 因此,在我的文件中,我这样做: 由于我的文件没有编译有关该依赖项的抱怨,因此我得到了描述符文件的副本,将其放置在与我的原型文件相同的目录中。 这解决了问题,但我不认为这是正确的方法。现在,将gets与我的文件一起编译,从而在运行时进行了2次编译: 文件附带的那个 与我的文件一起编译的那个 我认为应该以某种方式使用该选项,但不能完

  • 试图使用Ionic 4中的协议缓冲区进行编码 我已经下载了协议并用它来生成一堆_pb.js文件,每个. proto文件一个。很好。 首先关注原型示例。这是示例代码: 我做了一些更改以匹配我的文件。更改proto文件的名称。但是我的proto文件中没有包名称。所以我只是使用了消息名称。首先这是我的. proto文件的开头: 下面是我修改后的代码: 这似乎不起作用。我的控制台显示: 我相信我已经成功地

  • 据我所知,协议缓冲区主要用于控制服务器和客户端代码的项目。我的一般问题是——协议缓冲区能否用于将二进制消息序列化/反序列化到使用现有协议的服务器?所以,我的问题: > 如果协议缓冲区不支持本机微调现有协议的序列化/反序列化方式,那么可以通过扩展添加该功能吗?是否可以以某种方式添加序列化/反序列化方法可以识别的关键字?也许这可以通过扩展或修改protobuf csharp port或protobuf

  • 我有一个简单的客户端和服务器设置。客户端希望在服务器中使用ZeroMQ执行通信方法。我将使用REQ和REP套接字,因为它们适合这个用例。然而,我对protobuf的定义有疑问。我认为这两个选项可用于实现目标: 其中“control”包含要远程执行的方法的名称。另一种选择可以是: 最好的方法是什么?或者至少使用一种方法而不是另一种方法的权衡是什么?

  • 根据示例代码https://developers.google.com/protocol-buffers/docs/cpptutorial,它们展示了如何解析二进制格式的原始文件。使用 我尝试删除文本格式的输入文件的,但在读取文件时仍然失败。我需要做什么才能读取文本格式的原始文件?