gRPC 編譯安裝總結

環境:c++

  • ubuntu 16.04 / macOS Catalina

最近要搞gRPC,覺得如今新出的東西應該用起來挺方便的,可是按照官方的步驟安裝過程當中遇到了一些小問題,看了些博客才解決,因而記錄一下。git

編譯安裝

下載

在github下載gRPC項目,而後更新子模塊:github

git clone https://github.com/grpc/grpc.gitubuntu

git submodule update --init緩存

依賴

這部分比較慢,我一行命令下去,大半天團建回來還沒下好......反正等就好了,超時了就重連再來。bash

接下來安裝必要的依賴:框架

sudo apt-get install pkg-config學習

sudo apt-get install autoconf automake libtool make g++ unzip測試

sudo apt-get install libgflags-dev libgtest-devcode

sudo apt-get install clang libc++-dev

mac能夠經過Homebrew安裝依賴:

brew install autoconf automake libtool

也能夠直接brew install protobuf grpc安裝,這裏我已經下好了,就源碼編譯安裝了。

protobuf

grpc默認使用protobuf做爲序列化傳輸,由於都是自家的嘛。咱們先安裝protobuf,在grpc/third_party/protobuf/下:

git submodule update --init --recursive #更新第三方源碼
sudo ./autogen.sh   #生成配置腳本
sudo ./configure    #生成Makefile文件,默認路徑爲/usr/local/
sudo make
sudo make install 
sudo ldconfig       #更新共享庫緩存

而後protoc --version試一下是否成功安裝。

grpc

grpc/目錄下已經編寫好了makefile,直接執行:

sudo make
sudo make install # 默認安裝在/usr/local/目錄。

這裏編譯的時候在ubuntu 16.04上可能會遇到ld的報錯,意思大概是說你裝了兩個不一樣版本的libprotobuf.so,可能會致使衝突。上網搜索以後瞭解到這是由於ubuntu默認安裝了一個低版本的protobuf,解決辦法是卸載掉這個就行了,用上面編譯安裝的3.x版本:

sudo apt-get remove libprotobuf-dev

而後從新make一下就行了。

Hello world

學習新的語言和框架老是從hello world開始的嘛!在example/下有一些示例代碼,咱們用C++版原本測試一下。

cd examples/cpp/helloworld/
make
./greeter_server # 開啓一個服務
# 在另外一個terminal
./greeter_client # 打印出調用的結果:Hello world

好了,如今你又掌握了一種Hello world的寫法,接下來就須要花點時間去耐心學習一下.proto的寫法,和理解rpc的原理了。學好了這些,在求職和工做過程當中就多了一件利器。

相關文章
相關標籤/搜索