报错
LoginReq.proto:1:1: Expected top-level statement (e.g. "message").
分析:
实际上是由于在简体操作系统下,默认的proto文件,其实就是文本文件,的"被读取编码"是GB2312,如果proto文件不是使用该编码编写 的,而是utf-8等其他格式,文件头会有乱码,即在message前会有1位乱码,导致protoc程序无法识别到messge开头的标识,导致了异 常,
解决:
修改GB2312编码保存后既可以继续编译成功.~~
protobuf 生产c++ 代码命令
protoc -I=D:\ --cpp_out=D:\ D:\addressbook.proto
google文档地址 https://developers.google.com/protocol-buffers/docs/cpptutorial
protobuf 序列化
http://lin-style.iteye.com/blog/1074700
protobuf多种序列化方式
http://www.jb51.net/article/36661.htm

本文详细解析了在简体操作系统中遇到的Protobuf编译错误:LoginReq.proto:1:1:Expected top-level statement (e.g.message)。阐述了错误原因在于文件编码格式不匹配,并给出了具体解决方案——调整文件编码为GB2312。同时提供了protobuf生成C++代码的命令及官方文档链接。
1万+

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



