C++网络编程(一)gRPC的编译 原

Google是真滴烦,整个编译链全是自家产品,在编译之前先来安装一堆东西

安装环境依赖

  1. chocolatey Windows下的包管理系统,没有他就慢慢去下载下面的一堆乱七八糟的东西吧。CMD下执行下面这句话就可以安装了。
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  1. Git
  2. Visual Studio 2015 or 2017 这个你懂的.
  3. CMake.
  4. Active State Perl (choco install activeperl) - perl会被gRPC的第三方依赖 boringssl 使用到
  5. Go (choco install golang) - 会被gRPC的第三方依赖 boringssl 使用到(我只是个C++强行给我装上了GO)
  6. yasm and add it to PATH (choco install yasm) - 也会被gRPC的第三方依赖 boringssl 使用到(麻烦死了)
  7. 可选Ninja (choco install ninja)

下载源代码依赖

如果你装了chocolatey,你就可以用括号里的choco命令来安装东西了 还没完,上面只是环境依赖,接下来下载源代码依赖。

把依赖分别解压到grpc-1.20.0\third_party\对应的依赖包下面去 1.c-cares 解压到grpc-1.20.0\third_party\cares\cares 2. boringssl解压到grpc-1.20.0\third_party\boringssl 3. gflags解压到grpc-1.20.0\third_party\gflags 4. zlib解压到grpc-1.20.0\third_party\zlib 5. benchmark解压到grpc-1.20.0\third_party\benchmark 6. protobuf解压到grpc-1.20.0\third_party\protobuf 完成上面的事情后输入CMD指令:

md .build
cd .build

新建编译文件夹然后cd进去,接下来编译

我的编译器是Visual Studio 15 2017,所以指定编译器是Visual Studio 15 2017,如果是2015,则是Visual Studio 14 2015

cmake .. -G "Visual Studio 15 2017"

注意:如果是64位编译就是

cmake .. -G "Visual Studio 15 2017 Win64"

最后,编译Release版本,如果不加Release则默认为Debug版本

cmake --build . --config Release

结果。。。。。。。。。

编译了21分钟不说。。。。。还报错了。。惊了 既然知道在grpc-1.20.0\third_party\boringssl\tool\transport_common.cc(19)这个地方,找过去。

微软是这么说的

调用 c + + 标准库中的任何潜在的不安全的方法会导致编译器警告 (等级 3) C4996。 若要禁用此警告,请在代码中定义宏 _SCL_SECURE_NO_WARNINGS:

参考

好了bb这么多直接注释掉就好了。。。。。。

再来一次build all

嗯,完工

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券