准备工作
一、系统环境
win7 64位
vs2019社区版
二、首先下载和编译最新版openssl (我写文章时候是1.1.1.1b)
参考我上一篇博客写的内容编译即可 附地址:
https://blog.csdn.net/jiangdong2007/article/details/89429266
三、 下载工具
1、安装cmake最新版本 cmake-3.14.2 ,否则低版本不支持生成 vs2019工程文件
https://github.com/Kitware/CMake/releases/download/v3.14.2/cmake-3.14.2-win64-x64.msi
2. 安装ActivePerl
3. 安装golang(可选 本人编译c++环境 这个可以不用)
4. 安装nasm
验证安装是否安装成功:
cmake -version
perl -version
nasm -v
如果出现错误,请检查是否安装成功;若安装成功,则需要检查安装目录是否添加到环境变量path中。
四、下载源代码
grpc-master 是github上下载最新的,除了c-ares-1.15.0.tar.gz这个源码,别的都要从github上下载最新,否则会编译报错!!
1. grpc-master 解压到E:\rpc_code\grpc-master
2. benchmark-master 解压到E:\rpc_code\grpc-master\third_party\benchmark
/*
(此项可以去掉,不知道什么原因加入他编译报错,暂时也不需要这个功能)
3. boringssl-master 解压到E:\rpc_code\grpc-master\third_party/boringssl
*/
4. c-ares-1.15.0.tar.gz 解压到E:\rpc_code\grpc-master\third_party/cares/cares
5. gflags-master () 解压到E:\rpc_code\grpc-master\third_party/gflags
6. protobuf-master 解压到E:\rpc_code\grpc-master\third_party/protobuf
7. zlib-1.2.11.tar.gz 解压到E:\rpc_code\grpc-master\third_party/zlib
8. googletest-master 解压到E:\rpc_code\grpc-master\third_party/googletest
注意一定要将c-ares-cares-1_12_0.tar.gz解压到E:\rpc_code\grpc-master\third_party\cares\cares目录,否是编译会报错。
五、打开cmake配置好工程设置
点击完成,之后点击生成按钮 效果如下
图中画红色框框的位置 是库生成之后的安装目录,可以自己更改 此例子默认 C:/Program Files (x86)/grpc
六、以管理员启动vs2019 (本机编译的是64位grpc)开始编译
1、首先要将openssl 1.1.1.1b编译好的include 和lib配置到报错的工程里面
(配置这个时候有个偷懒做法,把opensll的头文件和lib分别放到
.h 源码里面的路径 E:\rpc_code\grpc-master\include\openssl
lib放编译目录下 E:\rpc_code\grpc-bin2019\Release )
vs2019在已经生成的工程里面没找到可以配置全局配置的办法,有知道的告诉我哈!!!!
2、去掉如下工程 反正不是c++需要的和测试的工程 不编译无所谓了,等以后再琢磨如何编译吧!!!
grpc_create_jwt
grpc-csharp_ext
grpc_print_google_default_creds_token
grpc_verify_jwt
3、等待编译完所有工程执行 编译 INSTALL 此工程将编译好的文件拷贝到C:/Program Files (x86)/grpc 目录下
4、最终编译好的目录结构如下(注意Release目录下的文件和lib没有拷贝到C:/Program Files (x86)/grpc 需要自己拷贝!!!)
附Release目录文件