最新版本GRPC-v1.37.0编译教程


  • 编译工具
  1. cmake  v3.14.2 https://github.com/Kitware/CMake/releases/download/v3.14.2/cmake-3.14.2-win64-x64.msi (建议使用该版本、使用v3.10.0版本构建提示cmake版本过低,使用最新版本v3.20.0配置选项过多花费长时间去研究仍然无法构建成功,无奈只能放弃-期大神出新博)
  2. ActivePerl    https://www.perl.org/get.html
  3. Golang https://golang.google.cn/
  4. Nasm v2.13.02   https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D     
  5. vs2019

         除vs2019外,其他都已经已经下载好并有构建好的vs2019 解决方案,见grpc(v1.37.0)源码及编译教程-互联网文档类资源-CSDN下载


  • 资源下载
  1. GRPC源码下载  https://github.com/grpc/grpc.git
  2. 下载submodules 根据源码中.gitmodules文件内容逐一下载,并将其准确的放到thrid-party 的文件夹下


  • CMAKE构建VS解决方案

1、配置如下

(1)运行cmake-gui.exe 选择grpc源码及构建路径,

(2)在GO_EXECUTABLE选择百度网盘下载grpc-build-tool(或者golang安装路径)下的go.exe

(3)在PERL_EXECUTABLE选择百度网盘下载grpc-build-tool(perl安装了路径)下的perl.exe

(4)在CMAKE_ASM_NASM_COMPILER选择百度网盘下载grpc-build-tool(Nasm安装了路径)下的nasm-2.13.02-win64/nasm.exe (以x64为例)

(5)INSTALL 默认安装在c盘路径下,可改到其他盘路径下,否则在vs2019 编译安装时会报“error MSB3073: 命令“setlocal””,这时需要以管理员的方式打开vs即可。

(6)单击Configure->Generate ,这里可能会对红色警告及错误提示有点疑问,但是不影响我们成功编译源码,在这里我就没有解决这个两个提示了

(7)vs2019 解决方案,可以看到grpc.sln 解决方案了


  • 填坑

没错坑来了

Q1: fatal error C1083: 无法打开包括文件: “openssl/x509.h”: No such file or directory

A1: 这是因为cmake 构建boringssl 时include路径出错了,在需要到include openssl 的项目,属性->c/c++->附加包含目录下,D:\open_tool\GRPC\grpc-1.37.0\third_party\boringssl-with-bazel\src\include --修改--> D:\open_tool\GRPC\grpc-1.37.0\third_party\boringssl-with-bazel\include

需要修改的项目有grpc,grpc++,grpc++_alts 

Q2: error MSB3073: 命令“setlocal

A2:以管理员方式启动VS2019即可


  • 编译成功

 C:/Program Files (x86)/grpc 目录下便可以有我们需要的include\lib\bin等文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
grpc-server-spring-boot-starter是一个基于Spring Boot框架的gRPC服务器的启动器。gRPC(Google Remote Procedure Call)是一种高性能的远程过程调用框架,它使用Protocol Buffers作为接口定义语言,并支持多种编程语言。 grpc-server-spring-boot-starter提供了一系列简化配置和集成的功能,使得在Spring Boot应用中启动和配置gRPC服务器变得更加容易。它提供了自动装配的功能,可以根据应用的配置自动创建和启动gRPC服务器。用户只需要在配置文件中设置相应的参数,如服务器的端口号、TLS证书等,即可完成服务器的启动配置。 在使用grpc-server-spring-boot-starter时,用户可以方便地定义服务接口和实现类。通过使用gRPC的接口定义语言(protobuf)定义接口,并生成对应的Java代码。然后,用户只需要在实现类中实现相应的接口方法即可。 在服务器启动后,grpc-server-spring-boot-starter会根据定义的接口和实现类,自动创建相应的gRPC服务,并将其注册到服务器中。当客户端发起远程调用时,服务器会根据接口定义和方法参数,将请求转发给对应的实现类,并返回执行结果给客户端。 grpc-server-spring-boot-starter还支持对gRPC服务器进行拦截器的配置。拦截器可以在请求和响应的过程中拦截和修改消息,用于实现日志记录、鉴权、性能监控等功能。 总之,grpc-server-spring-boot-starter简化了在Spring Boot应用中使用gRPC的配置和集成过程,使得开发者可以更加便捷地构建和部署gRPC服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值