【问题标题】:Error compiling grpc generated source编译grpc生成源出错
【发布时间】:2016-11-05 15:10:19
【问题描述】:

我在编译示例 route_guide 生成源以及我自己的源时遇到了一些问题。我确定它的用户错误,但我不确定问题出在哪里。该错误似乎暗示了我无法找到参考的 GRPC_FINAL 的某些内容。

$ protoc --version libprotoc 3.0.0

./route_guide.grpc.pb.h:29:2: error: expected expression
 public:
 ^
./route_guide.grpc.pb.h:28:18: error: variable has incomplete type 'class RouteGuide'
class RouteGuide GRPC_FINAL {
             ^
./route_guide.grpc.pb.h:28:7: note: forward declaration of   'routeguide::RouteGuide'
class RouteGuide GRPC_FINAL {
  ^
route_guide.grpc.pb.cc:25:18: error: incomplete type 'routeguide::RouteGuide' named in nested name specifier
std::unique_ptr< RouteGuide::Stub> RouteGuide::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
             ^~~~~~~~~~~~
./route_guide.grpc.pb.h:28:7: note: forward declaration of       'routeguide::RouteGuide'
    class RouteGuide GRPC_FINAL {

【问题讨论】:

  • 我能够通过定义 GRPC_FINAL 和 GRPC_OVERRIDE CPPFLAGS += -I $(INCLUDE_DIR) -I $(SRC_DIR) -I /usr/local/include -DGRPC_FINAL=final -DGRPC_OVERRIDE=override 来编译和链接它。似乎这些将包含在某个地方的标题中。有什么想法吗?

标签: c++ grpc


【解决方案1】:

我能够通过卸载所有 grpc 库和头文件并从 v1.0.x 分支重建来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2014-08-03
    • 1970-01-01
    • 2021-08-12
    • 2021-03-20
    相关资源
    最近更新 更多