解決proto文件轉換時提示“Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. ”


前言:

想將.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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM