编译协议缓冲区:缺少输出指令



我尝试编译原始(Ubuntu 18.04)

protoc — go_out=. test.proto 
Missing output directives.

我的env

go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/miki/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/miki/go"
GORACE=""
GOROOT="/usr"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/gcc/x86_64-linux-gnu/8"
GCCGO="/usr/bin/x86_64-linux-gnu-gccgo-8"
CC="x86_64-linux-gnu-gcc-8"
CXX="x86_64-linux-gnu-g++-8"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build089604877=/tmp/go-build -gno-record-gcc-switches -funwind-tables"

protoc-gen-go在我的bin中

~/go/bin$ ls
gocode  gopkgs  goreturns  protoc-gen-go

我编辑了我的bashrc

echo $PATH
/home/miki/go/bin

再次与同一件事。

如何设置OUPUT指令?

看起来您的原始命令在--go_out=.之间有一个空间?

以下写下您的命令:

protoc --go_out=. test.proto 

如果您需要GRPC服务器:

protoc --go-grpc_out=. test.proto 

有关更多详细信息,我想告诉你这部分 - go_out =。与有关

option go_package="/<folder_name>";

您在 .proto 文件中写的,两者都用于确定输出地址。

最新更新