相关工具
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