windows平台下编译gRPC的坎坷之路和解决⽅法附上编译好
的lib和头⽂件下载
PS:本⽂参考了很多⼤神的教程,如果对你有帮助,请为我们点个赞加个关注,谢谢。⽂中附有参考链接。
因为有应⽤场景的需求,需要⽤到gRPC。哦,你可能会问,什么是gRPC,容⼩⽣给你搬运⼀下官⽹的解释:
gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.
各位看官看得懂吗,好吧,我也看不懂,毕竟我是四级考了三次也没有过的⼈。那咱们就站在巨⼈的肩膀上吧,⽤XX翻译下,⼤概就是:gRPC就是google搞的⼀套RPC,所谓RPC(remote procedure call 远程过程调⽤)框架实际是提供了⼀套机制,使得应⽤程序之间可以进⾏通信,⽽且也遵从server/client模型。使⽤的时候客户端调⽤server端提供的接⼝就像是调⽤本地的函数⼀样。如下图所⽰就是⼀个典型的RPC结构图。
呃,普及gRPC不在本⽂的范围。本⽂是记录⼀下在windows平台的gRPC编译。⼤家有没有发现,凡是开源的东西,在windows平台折腾就变得很⿇烦,各种的编译加库,Linux下⼏个命令就搞定。
⾸先,把参考的⽂章附上:
我们是站在世上的肩膀上。感谢以上的⽆私奉献的⼤神。
当然,如果你不想折腾,我把我编译好的放到云盘⾥,免积分下载
先装cmake-gui。
然后把所有的源代码下载:
protobuf:
libcares 库:
OpenSSL:
zlib:
源码下载路径:www.zlib/zlib-1.2.
OpenSSL,为什么要先编译它,,,,因为它⾥⾯没有需要的东西
(1)先安装⼯具perl:
下载下来后直接安装。进⼊命令模式,输⼊perl -v 正确显⽰版本信息,安装成功,能到命令。
(3)打开VS2017本机命令⼯具,当然2015/2019也⾏吧
注意后⾯某步不成功,请重新执⾏到这⾥继续:解压openssl⽂件夹,然后进⼊openssl⽂件⽬录,注意解压后的有可能是openssl-
图片下载站源码1.1.0k/openssl-1.1.0k/xxxxx这样的⽬录,要进⼊⾥⾯有很多⽂件夹那⼀级⾥⾯:
然后输⼊:Perl Configure VC-WIN64A no-shared no-asm -prefix=E:\openssl-build
Perl Configure代表我要配置编译⽂件,VC-WIN64A代表是VC64位的,no-shared no-asm代表静态库和不需要汇编,-prefix=填的是待会⽣成的vs⼯程⽬录放到这。成功会出现以下,若失败,提醒什么与⽬标计算机平台不匹配,关了,选择相对应的编译窗⼝。
nmake
然后出现⼀⼤堆⿁东西,对了,如果是配置的时候加⼊了no-shared命令,且你电脑没有安装dmake,会提醒你安装这个的,安装之后再来⼀次就可以了
⽆误之后,就是没有错误提⽰就代表成功了,然后输⼊
nmake test
出现在⼀堆东西,末尾会出现pass,代表成功
接着输⼊
nmake install
成功之后去你刚才填⼊的那个⽬录⾥看。
把这个⽂件夹放到环境变量⾥⾯去。有⼈说是新建⼀个叫OPENSSL_BOOT_DIR的变量名称,如下,
但是我好像不太,我就放到系统变量那是,就是Path那
这步做好之后。
开始编译gRPC。是的,开始⼲它了。
(1)将准备好的libcares源码放⼊gRPC源码third_party\cares\cares ⽬录下:
(2)将准备好的zlib源码放到gRPC源码hird_party\zlib⽬录下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。