Qt使用protobuf笔记

Posted Qt君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt使用protobuf笔记相关的知识,希望对你有一定的参考价值。

解决使用protobuf库过程中出现的编译问题。protobuf和XML,json一样的数据结构。

问题1

  • 缺protobuf库,可以定义PROTOBUF_USE_DLLS来链接protobuf库。

无法解析的外部符号 "class google::protobuf::internal::ExplicitlyConstructed<class std::basic_string<char,struct std::char_traits,class std::allocator > >
  • 解决方法:

DEFINES += PROTOBUF_USE_DLLS

问题2

  • std::min,std::max与windows.h的min,max冲突了。

.pb.h:189: warning: C4003: 类函数宏的调用“min”参数不足
.pb.h:189: warning: C4003: 类函数宏的调用“max”参数不足
.pb.h:189: error: C2589:(:::”右边的非法标记
UserInfo_STATE_UserInfo_STATE_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
UserInfo_STATE_UserInfo_STATE_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
  • 解决方法:
    屏蔽windows.h的min, max方法。

DEFINES += NOMINMAX

以上是关于Qt使用protobuf笔记的主要内容,如果未能解决你的问题,请参考以下文章

QT中使用MinGW 编译的protobuf库--包含库的生成和使用

QT 实用代码片段

Ubuntu protobuf编译安装并在Qt中使用

游戏开发笔记:protobuf避免重复代码newBuilder

Protobuf数据方法- 学习笔记

26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段