自百度開源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.0 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源碼分析,認認真真看下大牛們到代碼。