gRPC笔记2(C++创建HelloWorld项目)

一、空模板创建项目 创建一个C++空项目GrpcLearn,本例中使用debug模式编译,
gRPC笔记2(C++创建HelloWorld项目)
文章图片

二、拷贝项目文件 拷贝文件到GrpcLearn项目所在目录中

  1. \grpc\examples\protoshelloworld.proto
  2. grpc\examples\cpp\helloworldgreeter_client.ccgreeter_server.cc
  3. C:\Program Files (x86)\grpc\binprotoc.exezlibd.dll
  4. grpc\build_VS2019_x32\Debuggrpc_cpp_plugin.exe
    gRPC笔记2(C++创建HelloWorld项目)
    文章图片
三、生成pb文件 【gRPC笔记2(C++创建HelloWorld项目)】cmd中输入命令,生成4个pb文件
protoc.exe--grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin.exe helloworld.proto protoc.exe --cpp_out=. helloworld.proto

gRPC笔记2(C++创建HelloWorld项目)
文章图片

四、设置项目属性 把文件关联到项目中
gRPC笔记2(C++创建HelloWorld项目)
文章图片

1. 【C/C++】-【常规】-【附加包含目录】
C:\workspaces\grpc2\grpc\third_party\protobuf\src C:\workspaces\grpc2\grpc\include

gRPC笔记2(C++创建HelloWorld项目)
文章图片

2. 【C/C++】-【预处理器】-【预处理器定义】
添加_WIN32_WINNT=0x0A00
gRPC笔记2(C++创建HelloWorld项目)
文章图片

3. 【链接器】-【常规】-【附加库目录】
C:\workspaces\grpc2\grpc\build_VS2019\third_party\cares\cares\lib\Debug C:\workspaces\grpc2\grpc\build_VS2019\third_party\zlib\Debug C:\workspaces\grpc2\grpc\build_VS2019\third_party\protobuf\Debug C:\workspaces\grpc2\grpc\build_VS2019\Debug

gRPC笔记2(C++创建HelloWorld项目)
文章图片

4. 【链接器】-【输入】-【附加依赖项】
libprotobufd.lib grpc.lib grpc++.lib gpr.lib Ws2_32.lib zlibd.lib cares.lib address_sorting.lib

gRPC笔记2(C++创建HelloWorld项目)
文章图片

五、编译项目 greeter_client.cc文件中增加代码std::cin.get(); ,让exe窗口停下来
gRPC笔记2(C++创建HelloWorld项目)
文章图片

  1. 注释掉客户端的main函数,编译服务端,生成的exe文件改名server.exe,
  2. 注释服务端的main函数,编译客户端,生成的exe文件改名client.exe
  3. 把zlibd.dll包拷贝到exe文件所在的目录中。
六、拷贝相关依赖包,项目独立运行 拷贝相关依赖包,使得项目能独立运行:
  1. 创建文件夹depends,子文件grpcthird_party
  2. grpc\includegrpc\third_party\protobuf\src拷贝到grpc文件夹中
  3. 将下面文件夹中文件拷贝到third_party目录中:
  • grpc\build_VS2019_x32\Debug
  • grpc\build_VS2019_x32\third_party\cares\cares\lib\Debug
  • grpc\build_VS2019_x32\third_party\zlib\Debug
  • grpc\build_VS2019_x32\third_party\protobuf\Debug
代码下载地址: https://download.csdn.net/download/danxingxian_go/12136936
七、参考资料
  1. grpc1.18.0 c++ windows visual studio 2017(vs2017)版本Helloworld示例与解析:
    https://blog.csdn.net/shan165310175/article/details/86619128
  2. Windows+VS2017使用gRPC:
    https://www.cnblogs.com/MakeView660/p/11511136.html

    推荐阅读