protobuf 3.11
直接接入源码
禁用警告
在port_def.inc开头添加
#ifdef _MSC_VER
#pragma warning(disable: 4125)
#pragma warning(disable: 4800)
#pragma warning(disable: 4018)
#pragma warning(disable: 4506)
#endif //_MSC_VER
禁用RTTI
在message.h开头添加
#ifndef GOOGLE_PROTOBUF_NO_RTTI
#define GOOGLE_PROTOBUF_NO_RTTI
#endif
非windows下开启宏HAVE_PTHREAD
protobuf/stubs/common.cc注释两行
//#else
//#error "No suitable threading library available."
并对安卓做以下处理#define(HAVE_PTHREAD)
#if defined(__ANDROID__)
#include <android/log.h>
#define HAVE_PTHREAD
#endif
处理报错bswap_16,bswap_32,bswap_64
protobuf/stubs/port.h 暴力解决,注释掉下面几行,因为后面可以有直接的函数定义
//#ifdef _MSC_VER
//#define bswap_16(x) _byteswap_ushort(x)
//#def

本文详细介绍了如何在不同环境下无缝集成与编译Protobuf 3.11,包括禁用编译警告、RTTI,以及针对Windows、非Windows和Android平台的特定配置调整,确保跨平台的稳定性和兼容性。
最低0.47元/天 解锁文章
990

被折叠的 条评论
为什么被折叠?



