《LINUX实战:Ubuntu下muduo库的安装与使用》要点:
本文介绍了LINUX实战: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 库和它自带的例子,天生的可执行文件和静态库文件
本文永远更新链接地址:47172.htm
更多LINUX教程,尽在维易PHP学院专栏。欢迎交流!
转载请注明本页网址:
http://www.vephp.com/jiaocheng/6547.html