首頁 > 軟體

Ubuntu下muduo庫的安裝與使用

2020-06-16 17:06:38

先貼一下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地址:

https://github.com/chenshuo/muduo-tutorial

------------------------------------------------分割線------------------------------------------------

原始檔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


IT145.com E-mail:sddin#qq.com