2021-05-12 14:32:11
Ubuntu下muduo庫的安裝與使用
先貼一下muduo庫github地址:
https://github.com/chenshuo/muduo/
1.muduo採用CMake編譯,首先安裝CMake:
$ sudo apt-get install cmake
2.muduo依賴boost庫:
$ sudo apt-get install libboostxxx-dev
3.muduo有三個非必須的依賴庫,curl、c-ares DNS、google protobuf,如果安裝了這三個庫,cmake會多編譯一些範例:
$ sudo apt-get install libcurl4-openssl-dev linc-ares-dev
$ sudo apt-get install protobuf-compiler libprotobuf-dev
muduo的編譯(release版本):
./build.sh -j2 //編譯庫和它自帶的例子,生成可執行檔案和靜態庫檔案,分別位於../buidl/release/{bin,lib}
./build.sh install //將標頭檔案和靜態庫檔案安裝到../build/release-install/{include,lib}
編譯完成後可執行其例子:bin/inspector_test,然後通過瀏覽器存取
http://xxx.xxx.xxx.xxx:12345/.其中,xxx.xxx.xxx.xxx為你的linuxIP
如何在自己專案中使用muduo:
muduo是靜態連結的c++程式庫,使用muduo庫的時候,需要設定好標頭檔案路徑(例如../build/release-install/include)和庫檔案路徑(例如../build/release-install/lib)並在編譯時連結相應的靜態庫檔案(-lmuduo_net -lmuduo_base)即可。
相應的範例Makefile地址:
------------------------------------------------分割線------------------------------------------------
原始檔tar包的下載地址:http://code.google.com/p/muduo/downloads/list,此處以muduo-0.8.2-beta.tar.gz為例。
muduo使用了Linux較新的系統呼叫(主要是timerfd和eventfd),要求Linux的核心版本大於2.6.28。我自己用Debian 6.0 Squeeze / Ubuntu 10.04 LTS作為主要開發環境(核心版本2.6.32),以g++ 4.4為主要編譯器版本,在32-bit和64-bit x86系統都編譯測試通過。muduo在Fedora 13和CentOS 6上也能正常編譯執行,還有熱心網友為Arch Linux編寫了AUR檔案。
如果要在較舊的Linux 2.6核心上使用muduo,可以參考backport.diff來修改程式碼。不過這些系統上沒有充分測試,僅僅是編譯和冒煙測試通過。另外muduo也可以執行在嵌入式系統中,我在Samsung S3C2440開發板(ARM9)和Raspberry Pi(ARM11)上成功執行了muduo的多個範例。程式碼只需略作改動,請參考armlinux.diff。
muduo採用CMake為build system,安裝方法如下:
$ sudo apt-get install cmake
muduo依賴於Boost,也很容易安裝:
$ sudo apt-get install libboost-dev libboost-test-dev
muduo有三個非必需的依賴庫:curl、c-ares DNS、Google Protobuf,如果安裝了這三個庫,cmake會自動多編譯一些範例。安裝方法如下:
$ sudo apt-get install libcurl4-openssl-dev libc-ares-dev
$ sudo apt-get install protobuf-compiler libprotobuf-dev
muduo的編譯方法很簡單:
$ tar zxf muduo-0.8.2-beta.tar.gz
$ cd muduo/
$ ./build.sh -j2
編譯muduo 庫和它自帶的例子,生成的可執行檔案和靜態庫檔案
分別位於../build/debug/{bin,lib}
$ ./build.sh install
以上命令將muduo 標頭檔案和庫檔案安裝到../build/debug-install/{include,lib},以便muduo-protorpc 和muduo-udns 等庫使用
如果要編譯release版(以-O2優化),可執行:
$ BUILD_TYPE=release ./build.sh -j2
編譯muduo 庫和它自帶的例子,生成的可執行檔案和靜態庫檔案
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-09/147172.htm
相關文章