5 回答

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊
你不見了option go_package.
您將提供option go_package
的名稱將是由 protoc 生成的包的名稱。通過這樣做,您可以導(dǎo)入從而訪問消息字段。

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊
protoc要求指定包,那么解決方法就是添加
option go_package = "./your-package-name";
使您的文件如下所示:
syntax="proto3";
package main;
option go_package = "./your-package-name";
message Person {
string name = 1;
int32 age = 2;
}
然后您可以運行命令,例如:
protoc -I src/ --go_out=src/ src/simple/simple.proto
where--go_out=src/指定生成文件的位置,然后指定原始文件的相對路徑。
注意:不要忘記在前面加上option go_packagewith./

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊
我有一個類似的問題。
我認(rèn)為協(xié)議緩沖區(qū)應(yīng)該是語言中立的。如果我們將 go_package 添加到 proto 文件中,那么如果我們嘗試將這些 proto 文件編譯為不同的語言,我們將不得不對文件進(jìn)行更改。
如果您只考慮生成 go 文件,我看到的解決方案是有效的。

TA貢獻(xiàn)1786條經(jīng)驗 獲得超13個贊
首先確保您正確安裝了編譯器
sudo apt install protobuf-compiler
sudo apt install golang-goprotobuf-dev
使用這個命令
protoc -I=src/ --go_out=src/ src/simple.proto
-I = IPATH -指定搜索導(dǎo)入的
目錄--go_out=輸出目錄
- 5 回答
- 0 關(guān)注
- 319 瀏覽
添加回答
舉報