准备
UE4.25.4:当前最新版本
protobuf:3.11.2(为什么选择这个版本呢,因为最新的3.14不兼容,至少我不知道怎么做兼容,没尝试其他版本,有兴趣的可以自己试一下更高版本)
步骤
1.下载protobuf3.11.2,https://github.com/protocolbuffers/protobuf/releases?after=v3.12.4
2.解压后修改源码(下面代码块里+的意思是加入后面的信息,+本身不拷贝进去)
src/google/protobuf/compiler/cpp/cpp_file.cc
// 方法:FileGenerator::GenerateSourceIncludes
format(
"// Generated by the protocol buffer compiler. DO NOT EDIT!\n"
"// source: $filename$\n"
+ "\n"
+ "// Disable UE4 VS warnings\n"
+ "#ifdef _MSC_VER\n"
+ "#\tpragma warning(disable: 4946)\n"
+ "#\tpragma warning(disable: 4125)\n"
+ "#\tpragma warning(disable: 4647)\n"
+ "#\tpragma warning(disable: 4668)\n"
+ "#\tpragma warning(disable: 4800)\n"
+ "#endif\n"
+ "\n"
"#include $1$\n"
cmake/CMakeLists.txt
add_definitions(-DGOOGLE_PROTOBUF_CMAKE_BUILD)
+ add_definitions(-DGOOGLE_PROTOBUF_NO_RTTI=1)
src\google\protobuf\message.h
//#ifdef GOOGLE_PROTOBUF_NO_RTTI