grpc官方给的资料linux下C++方面好像比较多都是用的Makefile,但是qt写pro的时候就很愁不知道要哪些库,摸索着加了一些,写了个小栗子包括服务器客户端,经测试正常,下面是pro文件中先关依赖的写法
unix{#表示Linux环境的特殊设置,这个大括号不能单独放在下一行,否则编译会报错
#LIBS += #包含项目需要用到的共享库,注意文件名多了关键字"lib",扩展名是.so
INCLUDEPATH+=lgrpc/include
LIBS += -Llgrpc/libs/ -laddress_sorting
LIBS += -Llgrpc/libs/ -lgrpc++_unsecure
LIBS += -Llgrpc/libs/ -lprotobuf
LIBS += -Llgrpc/libs/ -lgrpc_unsecure
LIBS += -Llgrpc/libs/ -lgpr
LIBS += -Llgrpc/libs/ -lgrpc
LIBS += -Llgrpc/libs/ -lgrpc++
LIBS += -Llgrpc/libs/ -lgrpc_cronet
LIBS += -Llgrpc/libs/ -lgrpc++_cronet
LIBS += -Llgrpc/libs/ -lgrpc++_error_details
LIBS += -Llgrpc/libs/ -lgrpcpp_channelz
LIBS += -Llgrpc/libs/ -lgrpc++_reflection
}
需要注意的是,这里对LIBS 的顺序有要求,最好按照我这个顺序来吧,不然可能会报错无法解析DNS什么的
E0625 16:35:08.313000000 2260 resolver_registry.cc:80] don't know how to resolve 'localhost:50051' or 'dns:///localhost:50051'
E0625 16:35:08.316000000 2260 resolver_registry.cc:80] don't know how to resolve 'dns:///localhost:50051' or 'dns:///dns:///localhost:50051'
E0625 16:35:08.318000000 2260 channel.cc:95] channel stack builder failed: {"created":"@1529915708.318000000","description":"resolver creation failed","file":"E:\gRPC\grpc\src\core\ext\filters\client_channel\client_channel.cc","file_line":695}
2: lame client channel
https://github.com/tnie/quote-demo/issues/9 参考这个网址,我自己猜可能是grpc++_unsecure这个库要在grpc_unsecure前面