《LINUX實(shí)戰(zhàn):Ubuntu下muduo庫(kù)的安裝與使用》要點(diǎn):
本文介紹了LINUX實(shí)戰(zhàn):Ubuntu下muduo庫(kù)的安裝與使用,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
先貼一下muduo庫(kù)github地址:
https://github.com/chenshuo/muduo/
1.muduo采納CMake編譯,首先安裝CMake:
$ sudo apt-get install cmake
2.muduo依附boost庫(kù):
$ sudo apt-get install libboostxxx-dev
3.muduo有三個(gè)非必需的依賴庫(kù),curl、c-ares DNS、google protobuf,如果安裝了這三個(gè)庫(kù),cmake會(huì)多編譯一些示例:
$ sudo apt-get install libcurl4-openssl-dev linc-ares-dev
$ sudo apt-get install protobuf-compiler libprotobuf-dev
muduo的編譯(release版本):
./build.sh -j2 //編譯庫(kù)和它自帶的例子,生成可執(zhí)行文件和靜態(tài)庫(kù)文件,分別位于../buidl/release/{bin,lib}
./build.sh install //將頭文件和靜態(tài)庫(kù)文件安裝到../build/release-install/{include,lib}
編譯完成后可運(yùn)行其例子:bin/inspector_test,然后通過瀏覽器訪問
http://xxx.xxx.xxx.xxx:12345/.其中,xxx.xxx.xxx.xxx為你的linuxIP
如安在自己項(xiàng)目中使用muduo:
muduo是靜態(tài)鏈接的c++程序庫(kù),使用muduo庫(kù)的時(shí)候,需要設(shè)置好頭文件路徑(例如../build/release-install/include)和庫(kù)文件路徑(例如../build/release-install/lib)并在編譯時(shí)鏈接相應(yīng)的靜態(tài)庫(kù)文件(-lmuduo_net -lmuduo_base)即可.
相應(yīng)的示例Makefile地址:
------------------------------------------------朋分線------------------------------------------------
源文件tar包的下載地址:http://code.google.com/p/muduo/downloads/list,此處以muduo-0.8.2-beta.tar.gz為例.
muduo使用了Linux較新的系統(tǒng)調(diào)用(主要是timerfd和eventfd),要求Linux的內(nèi)核版本大于2.6.28.我本身用Debian 6.0 Squeeze / Ubuntu 10.04 LTS作為主要開發(fā)環(huán)境(內(nèi)核版本2.6.32),以g++ 4.4為主要編譯器版本,在32-bit和64-bit x86系統(tǒng)都編譯測(cè)試通過.muduo在Fedora 13和CentOS 6上也能正常編譯運(yùn)行,還有熱心網(wǎng)友為Arch Linux編寫了AUR文件.
如果要在較舊的Linux 2.6內(nèi)核上使用muduo,可以參考backport.diff來修改代碼.不外這些系統(tǒng)上沒有充分測(cè)試,僅僅是編譯和冒煙測(cè)試通過.另外muduo也可以運(yùn)行在嵌入式系統(tǒng)中,我在Samsung S3C2440開發(fā)板(ARM9)和Raspberry Pi(ARM11)上成功運(yùn)行了muduo的多個(gè)示例.代碼只需略作改動(dòng),請(qǐng)參考armlinux.diff.
muduo采用CMake為build system,安裝辦法如下:
$ sudo apt-get install cmake
muduo依附于Boost,也很容易安裝:
$ sudo apt-get install libboost-dev libboost-test-dev
muduo有三個(gè)非必需的依賴庫(kù):curl、c-ares DNS、Google Protobuf,如果安裝了這三個(gè)庫(kù),cmake會(huì)自動(dòng)多編譯一些示例.安裝辦法如下:
$ sudo apt-get install libcurl4-openssl-dev libc-ares-dev
?$ sudo apt-get install protobuf-compiler libprotobuf-dev
muduo的編譯辦法很簡(jiǎn)單:
$ tar zxf muduo-0.8.2-beta.tar.gz
?$ cd muduo/
?$ ./build.sh -j2
編譯muduo 庫(kù)和它自帶的例子,生成的可執(zhí)行文件和靜態(tài)庫(kù)文件
?分別位于../build/debug/{bin,lib}
?$ ./build.sh install
以上命令將muduo 頭文件和庫(kù)文件安裝到../build/debug-install/{include,lib},以便muduo-protorpc 和muduo-udns 等庫(kù)使用
假如要編譯release版(以-O2優(yōu)化),可執(zhí)行:
$ BUILD_TYPE=release ./build.sh -j2
編譯muduo 庫(kù)和它自帶的例子,天生的可執(zhí)行文件和靜態(tài)庫(kù)文件
本文永遠(yuǎn)更新鏈接地址:47172.htm
更多LINUX教程,盡在維易PHP學(xué)院專欄。歡迎交流!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/6547.html