gpt4 book ai didi

compiler-errors - libprotoc 编译 protoc 文件,但不编译其中包含的其他 protoc(google grpc assistant annotations.pb.h no file or directory error)

转载 作者:行者123 更新时间:2023-12-02 10:42:36 41 4
gpt4 key购买 nike

我正在尝试用 C++ 生成 Google Assistant 库。
我已经使用 protoc 编译器编译了 embedded_assistant.proto 文件,并获得了用于库的 embedded_assistant.grpc.pb.h 和 embedded_assistant.grpc.pb.cc 文件。
我创建了一个客户端文件 ea_main.cc 并将这些文件包含在其中。

当我尝试使用 g++ 编译器编译 ea_main.cc 时,出现此错误。

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 文件包含在其中
import "google/api/annotations.proto";
import "google/rpc/status.proto";

似乎 protoc 没有为这些 .proto 文件编译或生成 header 。当在 google/api/中查看时,它们不存在。

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

为什么 protoc 没有编译包含在 embedded_assistant.proto 中的 proto
?我怎样才能得到这些文件?
有什么问题吗?

最佳答案

我得到了解决方案,即在编译时包含其他所需的原型(prototype):-

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

关于compiler-errors - libprotoc 编译 protoc 文件,但不编译其中包含的其他 protoc(google grpc assistant annotations.pb.h no file or directory error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44984335/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com