前言:
想將.proto文件轉換成.pb文件時一直報錯,一開始以為是文件編碼格式的問題,后來將文件改成windows下的utf-8格式后,又出現了新的報錯(見下圖)。百度了很久,才找到解決方法。
“Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. ”這個報錯的意思是:在所有pb文件中必須是唯一的,而不僅僅是在這個enum中唯一。反過來理解就是enum中的屬性名定義必須是唯一的。
解決方法:
1.如果提示已經存在了,就將enum里的屬性名改個唯一的名字咯
2.谷歌官方文檔里還有一個解決方法:
在這個enum中添加option allow_alias = true;
具體的可以查看https://developers.google.com/protocol-buffers/docs/proto3