brpc编译运行
自百度开源brpc后就一直在关注,看了下brpc都源码,感觉大牛写的果然不一样,由于之前我做c++游戏服务器开发,所以主要看了下网络底层代码,收益颇多,果然一天不学习就要落伍。
现在主要和大家说下我编译运行brpc的过程,省的大家走些弯路。
一、编译器
我本来是在公司找一台测试环境空闲的机器进行编译,但是发现公司的机器都安装的是CentOS 6,自带的g++版本是 4.4.7,不支持c++ 11。(之前不是说百度的科技被三体人锁死了么!)为了不影响公司的机器运行,我就自己在虚拟机安装了 CentOS 7 ,大家如果是CentOS 6想升级g++的话可以参考 https://my.oschina.net/jacktanger/blog/1541584 这篇博客。
二、安装gflags
我编译安装的是 2.0 ,用最新版本貌似静态链接库有点问题。
git clone https://github.com/gflags/gflags.git
cd gflags
git checkout v2.
sh autogen.sh
./configure
make
make install
三、安装protobuf
我编译安装的是 3.0 ,之前没看版本依赖,用最新的protobuf结果提示少了 gzip_stream.h 头文件。
https://github.com/google/protobuf.git
cd protobuf
git checkout v3.0.0
sh autogen.sh
./configure
make
make install
四、安装leveldb
git clone https://github.com/google/leveldb.git
make
sudo cp out-shared/libleveldb.so* /usr/local/lib & sudo cp -R include/* /usr/local/include
五、安装openssl
yum install openssl openssl-devel
六、将/usr/local/lib加入默认系统链接库
echo "/usr/local/lib" >> /etc/ld.so.conf
/sbin/ldconfig
七、下载编译brpc
git clone https://github.com/brpc/brpc.git
cd brpc
sh config_brpc.sh --headers=/usr/local/include --libs=/usr/local/lib
make
sh tools
make_all_examples
八、运行示例
cd example/echo_c++
make
./echo_server &
./echo_client
到这一步就算完成了,我想着是不是要写brpc源码分析,认认真真看下大牛们到代码。
brpc编译运行的更多相关文章
- 如何使用Notepad++编译运行php
安装编译运行文件的插件.插件-Plugin Manager-Show Plugin Manager. 找到NppExec插件,从这个插件的名字来看就是各位文件的执行.点击Install.需要下载安装, ...
- EditPlus远程编辑、语法高亮、编译运行源代码设置
最近写代码的过程中,除了写Java时用的Eclipse.在Linux下编辑的Vi之外,有时也会用EditPlus打开一些文件,如配置文件.日志文件.脚本等.个人觉得EditPlus在很多场景下比较好用 ...
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
- 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止.开发一个完整的Andro ...
- Sublime Text 3配置C++编译运行
2016.9.8更新: linux(Ubuntu16.04)下的配置,编译后用终端运行,解决了不能输入的问题 { "encoding": "utf-8", &q ...
- vim颜色选择+按<F9>自动编译运行+其他基本配置(ubuntu)
(以下是ubuntu上的配置........ 但如果你是在window上的,直接用一下配置吧(懒得介绍了)=.= syntax on filetype indent plugin on set rul ...
- vim编译运行java程序
想让你的vim可以编译运行java只要在你的配置文件里面加一句: map <F5> :!javac %&&java %:r <CR> 就可以编译运行java了
- [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
reference to : http://www.cnblogs.com/soaringEveryday/p/4991563.html 以往的Android开发有一个头疼的且拖慢速度的问题,就是你每 ...
- Uiautomator自动编译运行脚本
Uiautomator的编译运行过程需要输入好几个命令,太麻烦. 花了点时间写了个简单的bat.方便多了.id输入当前使用的SDK ID号(android list target命令可以查看到),cl ...
随机推荐
- MongoDB 使用 ObjectId 代替时间
An ObjectId is a 12-byte unique identifier consisting of: a 4-byte value representing the seconds si ...
- [LeetCode] 1.Two Sum - Swift
1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...
- Spark Streaming Programming Guide
参考,http://spark.incubator.apache.org/docs/latest/streaming-programming-guide.html Overview SparkStre ...
- Spark源码分析 – Checkpoint
CP的步骤 1. 首先如果RDD需要CP, 调用RDD.checkpoint()来mark 注释说了, 这个需要在Job被执行前被mark, 原因后面看, 并且最好选择persist这个RDD, 否则 ...
- append和innerHTML的区别以及使用方法
1.append jquery中的append的使用方式:$("#id").append("<a href='#'>test</a>") ...
- Echarts树图定制详解
本文讲的是如何定制Echarts的tree图.主要包括下载.全局变量名修改.左键菜单添加.右键菜单添加.内容缩放.文本过滤高亮等. 一 说明 Echarts中提供了tree图,但实际项目中,该tree ...
- Python 之 UUID
UUID是根据MAC以及当前时间等创建的不重复的随机字符串 import uuid # Generate a UUID from a host ID, sequence number, and the ...
- java7(2)——使用mutilcatch注意事项
从java7推出mutilcatch后,到现在都少有看到人使用,可能是这个功能真正用起来,比起多个catch并不快多少,而且现在的工IDE具太厉害了,什么都有快捷键!说是这么说,我们还是得了解一下如何 ...
- ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制
公司最近在做视频直播的项目,我这里分配到对直播的视频进行录制,录制的方式是通过rtmpdump对rtmp的视频流进行录制 前置的知识 ffmpeg: 用于实现把录屏工具发出的视频和音频流,转换成我们需 ...
- libevent基础知识
在线手册 • 官方网站:http://libevent.org/ • 官方手册:http://www.wangafu.net/~nickm/libevent-book/ • 官方下载:http://s ...