1、创建一个空白的win32控制台程序
2、准备libevent库
在工程目录下分别创建inc和lib目录。
把libevent解压目录下的所有.h文件复制到inc目录。
把libevent解压目录下的include下的event2目录复制到inc目录。
把libevent解压目录下的WIN32-Code下的event2目录和tree.h复制到inc目录。
把libevent解压目录下编译生成的3个.lib文件(libevent.lib、libevent_core.lib和libevent_extras.lib)复制到lib目录。
3、在新建的空白win32控制台程序添加新建项,代码如下(
简单定时器:
实现程序每秒输出一个“Game Over!”
)
#include <stdio.h>
#include <iostream>
// libevent头文件
#include <event.h>
using namespace std;
// 定时事件回调函数
void onTime(int sock, short event, void *arg)
{
cout << "Game Over!" << endl;
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
// 重新添加定时事件(定时事件触发后默认自动删除)
event_add((struct event*)arg, &tv);
}
int main()
{
// 初始化
event_init();
struct event evTime;
// 设置定时事件
evtimer_set(&evTime, onTime, &evTime);
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
// 添加定时事件
event_add(&evTime, &tv);
// 事件循环
event_dispatch();
return 0;
}
4、修改工程设置
在C++常规项中,添加附加包含目录:inc;inc/event2。
在链接器常规项中,添加附加目录:lib。
在链接器输入项中,添加依赖项:ws2_32.lib;wsock32.lib;libevent.lib;libevent_core.lib;libevent_extras.lib。
5、编译即可
建议:将文件夹inc 、lib保存起来,以后直接复制粘贴到工程里面即可,不必再在libevent-2.0.21-stable文件夹中找
附上我的工程文件,里面包含已编译的libevent的lib和头文件(在inc和lib文件夹里面,放进自己的工程文件即可使用)
http://download.youkuaiyun.com/detail/kopunk/7627715