跳转到帖子
登录关注  
墨香年少

windows编译安装libevent

已推荐帖子

1.修改

C:\Users\duqingnian\libevent-2.1.11-stable\Makefile.nmake

makefile.nmake.png

 

2.修改

C:\Users\duqingnian\libevent-2.1.11-stable\minheap-internal.h

hfile.png

 

然后打开:

x86 Native Tools Command Prompt for VS 2017

执行:

nmake /f Makefile.nmake

执行结束后,检查:C:\Users\duqingnian\libevent-2.1.11-stable文件夹下面是不是有一下三个lib文件

libevent.lib
libevent_extras.lib
libevent_core.lib

如果有,则为成功!


目之所及,皆是回忆,心之所想,皆是过往

分享这篇帖子


链接帖子
分享到其他站点

拷贝:

C:\Users\duqingnian\libevent-2.1.11-stable\WIN32-Code\nmake\event2\event-config.h

到:

C:\Users\duqingnian\libevent-2.1.11-stable\include\event2

目录下


目之所及,皆是回忆,心之所想,皆是过往

分享这篇帖子


链接帖子
分享到其他站点

打开vs2017,建立一个c++的控制台项目,删除默认的cpp文件下的所有文件

输入下面代码:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <event.h>
#include <event2/http.h>
#include <event2/http_struct.h>
#include <event2/http_compat.h>
#include <event2/event-config.h>
using namespace std;

int main(void) {
	WSADATA wsa_data;
	WSAStartup(0x0201, &wsa_data);
	event_init();

	struct evhttp *evHttp = evhttp_start("0.0.0.0", 8080);
	if (evHttp == NULL) {
		cout << "错误!";
		getchar();
		return 0;
	}
	evhttp_set_timeout(evHttp, 5);
	evhttp_set_cb(evHttp, "/get", [](struct evhttp_request * req, void * data) {
		size_t len = evbuffer_get_length(req->input_buffer);
		cout << "req len:" << len;
		evbuffer *respBuff = evbuffer_new();
		evbuffer_add_printf(respBuff, "Hello ? World!");
		evhttp_send_reply(req, HTTP_OK, "Client", respBuff);
		evbuffer_free(respBuff);
	}, NULL);

	event_dispatch();
	evhttp_free(evHttp);
	return 0;
}

设置项目:

vs_config_path.pngmtd.pnglib.png

附加依赖:

ws2_32.lib
wsock32.lib
libevent.lib
libevent_extras.lib
libevent_core.lib

----------

编译-运行

打开浏览器输入

http://127.0.0.1:8080/get

查看效果


目之所及,皆是回忆,心之所想,皆是过往

分享这篇帖子


链接帖子
分享到其他站点

创建帐户或登录来提出意见

你需要成为会员才能提出意见

创建帐户

注册成为会员。只要几个简单步骤!

注册帐户

登录

已有帐户? 请登录。

现在登录
登录关注  

×
×
  • 创建新的...

重要信息

注册必须使用2-8个中文汉字作为账号