最新vs2019编译libevent-2.1.11-stable

最新vs2019编译libevent-2.1.11-stable

准备工作

  • 安装vs2019
  • 下载lievent
    下载地址

开始编译

  • 打开vs命令行
    在这里插入图片描述
  • 进入到libevent库目录
  • 执行nmake /f Makefile.nmake
  • 提示如下报错
    最新vs2019编译libevent-2.1.11-stable_第1张图片
  • 解决办法
    编辑minheap-internal.h文件,在最前面添加include 头文件,重新执行上述编译命令即可。

库文件生成

编译完成后会在当前目录生成libevent.lib,libevent_core.lib,libevent_extras.lib三个静态库,表示编译成功。

小示例

实现一个定时器功能

#include 
#include 
#include 
#include 
 
#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;
}

你可能感兴趣的:(网络编程,工具技巧)