2016-11-05 21 views
0

私はroute_guideのソースと自分のソースの両方をコンパイルするいくつかの問題に取り組んでいます。そのユーザーのエラーが、私は問題がどこにあるかわからないことを確認してください。エラーは、GRPC_FINALで参照できなかった何かを示唆しているようです。grpcで生成されたソースをコンパイルする際のエラー

$ 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 { 
+0

GRPC_FINALとGRPC_OVERRIDEの 'CPPFLAGS + = -I $(INCLUDE_DIR)-I $(SRC_DIR)-I/usr/local/includeを定義することで、これをコンパイルしてリンクすることができました。-DGRPC_FINAL = final -DGRPC_OVERRIDE = override '。これらはヘッダーのどこかに含まれているように見えます。何か案は? – Nate

答えて

0

私はgrpcのLIBSとヘッダの全てをアンインストールし、v1.0.xの枝から再構築することによってこの問題を解決することができました。