gRPC最新发布版本为v1.23.0,下面以此版本为例说明在Windows和Linux下编译过程。

Windows7/10 vs2103编译gRPC源码操作步骤

1. 需要本机已安装Git、CMake、Perl、Go、yasm;

2. 依次执行如下命令:

git clone https://github.com/grpc/grpc
git checkout v1.23.x
git submodule update --init
mkdir -p .build
cd .build
cmake .. -G "Visual Studio 12 2013 Win64" # 生成grpc.sln工程
cmake --build . --config Release # cmake --build . --config Debug

3. 执行完以上命令后会在.build目录下生成grpc.sln工程,但是在build时会出现很多错误,原因是source中使用了一些在vs2013中还没有支持的C++11特性,如constexpr等,如下图所示:

因此想要编译gRPC在windows下需要使用vs2015及以上版本才可以,使用其它vs版本编译gRPC时,步骤与上面相同,只需将

cmake .. -G "Visual Studio 12 2013 Win64"

调整为以下语句之一就可以,下面是使用vs2017编译生成的结果,如下图:

cmake .. -G "Visual Studio 14 2015 Win64" # vs2015
cmake .. -G "Visual Studio 15 2017 Win64" # vs2017

Linux gcc4.9.4编译gRPC源码操作步骤

1. 根据本机情况安装相应依赖性:

sudo apt-get install build-essential autoconf libtool pkg-config
sudo apt-get install libgflags-dev libgtest-dev
sudo apt-get install clang-5.0 libc++-dev

2. 依次执行如下命令:

git clone https://github.com/grpc/grpc
git checkout v1.23.x
git submodule update --init
mkdir -p .build
make
make install prefix=./.build

3. 执行完以上命令后在主目录的.build目录下的内容和执行生成的protoc结果如下:

GitHub:https://github.com/fengbingchun/OpenSSL_Test

在Windows和Linux上编译gRPC源码操作步骤(C++)相关推荐

  1. 海思3559A上编译Valgrind源码操作步骤

    注:按照以下步骤可以在海思板子上正常编译valgrind源码并生成valgrind可执行文件,但可能还不能在海思板子上正常使用. 1. 从http://valgrind.org/downloads/? ...

  2. Windows10上编译MXNet源码操作步骤(Python)

    1. 按照https://blog.csdn.net/fengbingchun/article/details/84997490  中操作步骤首先在Windows上通过VS2017编译MXNet源代码 ...

  3. 在Ubuntu14.04 64位上编译CMake源码操作步骤

    在Ubuntu上通过apt-get install安装CMake并不是最新版的,这里记录下在Ubuntu上通过源码安装CMake的操作步骤: 1.        卸载旧版CMake,执行以下命令: a ...

  4. 海思3559A上编译FFmpeg源码操作步骤

    1. 从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本: 2. 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文 ...

  5. 海思3531D上编译FFmpeg源码操作步骤

    从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本: 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文本文件con ...

  6. 海思3559A上编译LIVE555源码操作步骤

    1. 从http://www.live555.com/liveMedia/public/ 下载live.2019.06.28.tar.gz,并解压缩: 2. 生成静态库,拷贝一份config.arml ...

  7. 海思3559A上编译GDB源码操作步骤及简单使用

    1. 从http://ftp.gnu.org/gnu/gdb/ 下载最新稳定版8.3,即gdb-8.3.tar.gz,解压缩: 2. 在gdb-8.3目录下,创建一个build.sh脚本文件,内容如下 ...

  8. 海思3559A上编译libyuv源码操作步骤

    1. 下载libyuv源代码,执行: git clone https://chromium.googlesource.com/libyuv/libyuv 2. 通过CMakeLists.txt编译生成 ...

  9. 海思3559A上编译libjpeg-turbo源码操作步骤

    1. 从https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.0.2 下载libjpeg-turbo 2.0.2版本: 2. 脚本 ...

最新文章

  1. linux的mount(挂载)命令
  2. ios11修改微信步数_小程序同步微信步数
  3. hello rocketMQ
  4. 【正一专栏】曼城攻击力惊人露出冠军相
  5. C#并行编程(2):.NET线程池
  6. linux 踢出在线用户
  7. STM32工作笔记0020---新建工程模板基于寄存器-M3
  8. 用户空间与内核空间数据交换的方式(3)------seq_file
  9. 李宏毅机器学习——循环神经网络(一)
  10. 咸鱼Maya笔记—灯光效果
  11. Poi-tl通过word模板生成文件页眉页脚冲突问题
  12. Unity3D学习——使用PUN写一个聊天功能
  13. 【Linux】Ubuntu使用FlashFXP(FTP客户端)
  14. 《软件测试》第十二章 文档测试
  15. linux服务器显卡监控脚本
  16. 工作中遇到的一个问题:
  17. EXCEPTION_ACCESS_VIOLATION
  18. week_02_面向对象基础
  19. python对市场营销-python数据分析:商品数据化运营(上)——知识点
  20. 女朋友的情绪难以捉摸,作为程序员我应该?

热门文章

  1. python-opencv 常用工具总结
  2. 使用Python,OpenCV在视频中进行实时条形码检测
  3. Don‘t entangle those useless things
  4. linux mud 游戏,快刀幻想mud文字传奇-快刀幻想mud神器兑换码-快刀幻想mud下载v1.80-Linux公社...
  5. asp从后台调出的公式怎么参与运算_SEOr怎么写一个快速排名的标题
  6. PCL滤波介绍(1)
  7. 强化学习(二)- 动态规划(Dynamic Programming)
  8. Linux CentOS 6+复制本地前端文件压缩包解压到服务器端指定目录
  9. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
  10. Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器