协议缓冲区中缺少带有protoc的输入文件

Missing input file with protoc in protocol buffer

本文关键字:protoc 输入 文件 缓冲区 协议      更新时间:2023-10-16

我目前在protocol.exe旁边有一个名为addressbook.proto的文件。我很难生成.h和.cc文件。以下是我正在做的

protoc --cpp_out=c:addressbook.proto

然而,我得到了以下响应

Missing input file.

关于我可能做错了什么,有什么建议吗?

-cpp_out标记为生成的c源代码指定输出目录。

我建议尝试(如果proto实际上存储在c:\addressbook.proto目录下)

protoc c:addressbook.proto --cpp_out=./

protoc addressbook.proto --cpp_out=./

由于这个线程中唯一的答案并没有引导我找到我需要的解决方案,所以它在这里。

调用protoc.exe的语法如下:

protoc --proto_path=<proto_directory> --cpp_out=<output_directory> <proto_file>

重要的是,proto_path的参数是一个目录,而不是特定的.proto文件路径。实际使用的原型文件附加在命令(<proto_file>)的末尾。