首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libprotoc编译原型文件,但没有包含在其中的其他原型(google助手注释.pb.h没有文件或目录错误)

libprotoc编译原型文件,但没有包含在其中的其他原型(google助手注释.pb.h没有文件或目录错误)
EN

Stack Overflow用户
提问于 2017-07-08 08:50:30
回答 1查看 1.1K关注 0票数 4

我试图在C++中生成谷歌助理库。我使用protoc编译器编译了embedded_assistant.proto文件,并获得了库中的embedded_assistant.grpc.pb.h和embedded_assistant.grpc.pb.cc文件。我创建了一个客户机文件ea_main.cc,并将这些文件包含在其中。

当我试图使用ea_main.cc编译器编译g++时,我会得到这个错误。

代码语言:javascript
复制
car@ubuntu:~/grpc/examples/cpp/embedded_assistant$ g++ -I./ ea_main.cc -o OUT_CPP_TEST -std=c++11
In file included from embedded_assistant.grpc.pb.h:22:0,           
                 from ea_main.cc:9:
embedded_assistant.pb.h:33:39: fatal error: google/api/annotations.pb.h: No such file or directory
compilation terminated.

在embedded_assistant.proto文件中,它包含另一个proto文件,如

代码语言:javascript
复制
import "google/api/annotations.proto";
import "google/rpc/status.proto";

似乎原型没有为这些.proto文件编译或生成头文件。当在google/api/他们不存在的时候。

这就是为什么g++编译器为缺少的注释.pb.h文件提供错误的原因。

为什么protoc没有编译embedded_assistant.proto中包含的proto ?我如何获得这些文件??有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-09 11:30:09

我得到了解决方案,即在编译时包括其他必需的原型,例如:-

代码语言:javascript
复制
protoc --proto_path=protos --cpp_out=. protos/embedded_assistant.proto protos/google/api/annotations.proto protos/google/api/http.proto protos/google/rpc/status.proto
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44984335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档