libevent简介

libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。

linux下编译

这个就非常简单了,

./configure
make
make install

三部曲搞定

 

windows下编译就没这么简单了

最新的stable版本是2.0.21,对源码不需要任何修改即可,老的版本可以需要在event_iocp.c  evthread_win32.c  listener.c中加入

#define _WIN32_WINNT 0x0500

确保代码中用到某些windows的函数可以知道系统版本。

打开您visual studio tool中的开发人员工具,进入您libevent代码目录,(这里cd命令有个坑的,不同分区跳转有问题,需要 cd /d dir,强制跳转),然后输入

nmake /f Makefile.nmake

使用vs自带的nmake来编译,之后会生成libevent.lib libevent_core.lib libevent_extras.lib,这样您所需要的libevent的静态文件库就生成了,下来就将include和lib引入到您的工程中就可以使用了。