在官网上grpc的编译步骤已经很全,但是如果第一次编译仍然会遇到一些小问题,而且如果至少想编译文件也用不到那么多步骤。在此主要总结一下编译会遇到的问题以及主要需要用到的步骤。
在用Linux编译之前,首先要确认通过apt install update更新了命令。
1) 接着我们需要把git安装上:
apt install git
2) 在编译之前我们需要先用命令下载安装:autoreconf,同时为了支持它还需要下一些相关东西。如果不按装它在编译的时候会报很多错导致失败。
命令为: sudo apt-get install autoconf automake libtool
sudo apt-get install libffi-dev
在执行完以上命令后,我们就可以开始下载编译grpc了(注:此次编译的grpc为1.10版,在Ubuntu14.04服务器版编译成功,在Ubuntu16.04上会编译报错失败)
如果遇到错误请参考:https://blog.csdn.net/x356982611/article/details/70856470
3) 接下来我们开始编译这里比较简单,主要步骤有
1.下载grpc :
git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
2.进入grpc目录(此目录根据自己情况找到,不知道的话可以通过命令:which grpc)
cd grpc
3. 因为grpc克隆下来的项目含有submodule,而它不会主动下载,所以我们需要使用命令
git submodule update --init
4.开始编译安装grpc,执行命令:
(1) 执行make命令
(2) 执行 sudo make install命令
到达此处如果没有意外,你的grpc就已经编译成功。接着我们开始下载安装protobuf。
1.执行命令
cd grpc/third_party/protobuf
进入grpc下的protobuf目录
2.执行命令编译
./autogen.sh && ./configure && make
3.执行命令安装
sudo make install
到此我们就可以开开心心的编译自己编写proto文件了。
命令为:
protoc --objc_out=./test/ --grpc_out=./test/ --plugin=protoc-gen-grpc=/root/grpc/bins/opt/grpc_objective_c_plugin test.proto
--objc_out 为你编译的目标语言,如果不知道怎么写可以执行protoc 查看有哪些语言该怎么写。
--grpc_out 为你编译目标语言的grpc文件,主要是service和clien的生成方法。
--plugin 为你调用编译插件,这个必须有否则不会生成grpc的文件。
最后在加上你需要编译的proto文件即可。