当前位置: 首页 > 工具软件 > sofa-pbrpc > 使用案例 >

Ubuntu系统下百度开源框架sofa-pbrpc环境搭建

林和畅
2023-12-01

1.概述

sofa-pbrpc使用Boost::Asio作为其网络层实现,采用google protobuf RPC实现的一款轻量级的RPC框架,另外其还依赖于zlib和snappy两个数据压缩库。需要注意的是,boost头文件仅仅在编译lib库的时候是需要的,对用户的代码是不需要的。另外还需要注意,./unit-test和./sample/mock_sample也依赖于gtest:http://code.google.com/p/googletest/

各个库的文件目录是需要在safa-pbrpc/depends.mk中配置的。

2.编译依赖: 

  1. Boost-1.53.0 

         http://downloads.sourceforge.net/project/boost/boost/1.53.0/boost_1_53_0.tar.gz 因为只需要使用boost的头文件, 所以解           压即可, 无需编译。我们此时需要修改“depends.mk”,将BOOST_HEADER_DIR设置为解压得到的boost文件夹路径,譬              如: BOOST_HEADER_DIR=/home/work/libs/boost_1_53_0

     2.Protobuf 2.4.1 

          http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz , 编译protobuf的步骤: 
          – 解压,cd到加压的文件夹下 
          – ./configure –prefix=$PWD/output 
          – make && make install 
          配置:修改”Depend.mk”, 将PROTOBUF_DIR设置为编译输出文件夹路径,譬如: 
      PROTOBUF_DIR=/home/work/libs/protobuf-2.4.1/output

   3.Snappy 

          – 下载地址 http://snappy.googlecode.com/files/snappy-1.1.1.tar.gz, 编译如下: 
          – 加压,cd到文件夹下 
          – ./configure –prefix=$PWD/output 
          – make && make install 
          配置, 修改 “depend.mk”, 将SNAPPY_DIR设置为编译输出文件夹路径,譬如: 
      SNAPPY_DIR=/home/work/libs/snappy-1.1.1/output

   4.Zlib 

          – 如果你的系统中安装了zlib, 请直接跳过。 
          – 下载地址: http://zlib.net/zlib-1.2.8.tar.gz 
          – 编译: 
          – 解压 
          – ./configure –prefix-=$PWD/output 
          – make && make install 
          – 配置: 修改 “Depends.mk”, 将ZLIB_DIR设置为编译输出文件夹路径,例如: 
      ZLIB_DIR=/home/work/libs/zlib-1.2.8/output

3.编译安装:

make && make install, 默认会安装到output/bin目录下。安装的文件包括: 
- include 
- lib/libsofa-pbrpc.a 
- bin/sofa-pbrpc-client

4.使用样例

进入sample文件夹 
使用的sample共有四个,echo/timeout_sample/compress_sample/mock_sample

 类似资料: