相關工具
yum install -y gcc gcc-c++ autoconf libtool yum groupinstall -y "Development Tools"
下載源碼
git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init
編譯安裝protobuf
cd third_party/protobuf/
./autogen.sh
./configure
make
make install ldconfig # refresh shared library cache. which protoc protoc --version
autogen.sh里需要下載Google Code的代碼,需要保障其能被訪問
編譯安裝grpc
cd ../.. make
問題:
/root/git/grpc/bins/opt/grpc_cpp_plugin: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
解決辦法:
echo $LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/:/root/git/grpc/libs/opt/ make make install
測試C++ Demo
cd examples/cpp/helloworld make
問題:
Package protobuf was not found in the pkg-config search path. Perhaps you should add the directory containing `protobuf.pc' to the PKG_CONFIG_PATH environment variable No package 'protobuf' found
解決辦法:
echo $PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/root/git/grpc/libs/opt/pkgconfig:/root/git/grpc/third_party/protobuf make ./greeter_server & ./greeter_client
常用命令:
/usr/local/bin/protoc --cpp_out=./ examples.proto
/usr/local/bin/protoc --grpc_out=./ --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin examples.proto