【发布时间】: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来编译和链接它。似乎这些将包含在某个地方的标题中。有什么想法吗?