搭建grpc/protobuf开发环境

相关工具

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

 

 
posted @ 2018-10-31 19:46  gavinhe  阅读(2123)  评论(0编辑  收藏  举报