環境:c++
最近要搞gRPC,覺得如今新出的東西應該用起來挺方便的,可是按照官方的步驟安裝過程當中遇到了一些小問題,看了些博客才解決,因而記錄一下。git
在github下載gRPC項目,而後更新子模塊:github
git clone https://github.com/grpc/grpc.git
ubuntu
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-dev
code
sudo apt-get install clang libc++-dev
mac能夠經過Homebrew安裝依賴:
brew install autoconf automake libtool
也能夠直接brew install protobuf grpc
安裝,這裏我已經下好了,就源碼編譯安裝了。
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/
目錄下已經編寫好了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開始的嘛!在example/
下有一些示例代碼,咱們用C++版原本測試一下。
cd examples/cpp/helloworld/ make ./greeter_server # 開啓一個服務 # 在另外一個terminal ./greeter_client # 打印出調用的結果:Hello world
好了,如今你又掌握了一種Hello world的寫法,接下來就須要花點時間去耐心學習一下.proto的寫法,和理解rpc的原理了。學好了這些,在求職和工做過程當中就多了一件利器。