Skip to content

Latest commit

 

History

History

cxx

二进制配置读取

用于读取输出类型为bin,协议类型为protobuf时的转换结果 需要使用protobuf c++

FAQ

出现xresloader符号重定义(multiple definition of `org::xresloader::pb::xresloader_XXX)

pb_header.pb.ccpb_header_v3.pb.cc 只能保留一个

如果系统采用的是proto v3则保留pb_header_v3.pb.cc

如果系统采用的是老版本的proto v2则保留pb_header.pb.cc

出现xresloader版本检查错误

具体表现为编译时输出

This file was generated by an older version of protoc ...

This file was generated by a newer version of protoc ...

这是因为protoc版本和目前所用的protobuf版本不一致,请尝试重新用目前所用的protoc根据配置的proto文件和header 目录中的pb_header_v3.protopb_header.proto重新生成c++代码文件。 即执行:

# proto 2
protoc -I 配置proto目录 --cpp_out=配置代码目录 配置proto文件
protoc -I ../../header --cpp_out=. ../../header/pb_header.proto

# proto 3
protoc -I 配置proto目录 --cpp_out=配置代码目录 配置proto文件
protoc -I ../../header --cpp_out=lite:. ../../header/pb_header_v3.proto

或执行

# proto 2
protoc -I 配置proto目录 --cpp_out=配置代码目录 配置proto文件
python gen_protocol.py

# proto 3
protoc -I 配置proto目录 --cpp_out=配置代码目录 配置proto文件
python gen_protocol_v3.py