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结果如下: