最新vs2019编译libevent-2.1.11-stable
准备工作
- 安装vs2019
略 - 下载lievent
下载地址
开始编译
- 打开vs命令行
- 进入到libevent库目录
- 执行
nmake /f Makefile.nmake
- 提示如下报错
- 解决办法
编辑minheap-internal.h
文件,在最前面添加include <stdint.h>
头文件,重新执行上述编译命令即可。
库文件生成
编译完成后会在当前目录生成libevent.lib,libevent_core.lib,libevent_extras.lib
三个静态库,表示编译成功。
小示例
实现一个定时器功能
#include <event2/event.h>
#include <event2/bufferevent.h>
#include <event2/event_struct.h>
#include <ws2tcpip.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "libevent.lib")
#pragma comment(lib, "libevent_core.lib")
#pragma comment(lib, "libevent_extras.lib")
static void timeout_cb(int fd, short event, void *arg)
{
printf("run timeout_cb1\n");
}
int main()
{
#ifdef WIN32
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(2, 2);
(void)WSAStartup(wVersionRequested, &wsaData);
#endif
struct event_base *base;
base = event_base_new();
event event1 ;
event_assign(&event1, base, -1, EV_PERSIST, timeout_cb, (void*) &event1);
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
event_add(&event1, &tv);
event_base_dispatch(base);
getchar();
return 0;
}