libevent-2.1.12 安装与使用【windows mingw】

mkdir build
cd build
cmake ..
mingw64-make

编译后 将D:\Software\libevent-2.1.12-stable\build\libD:\Software\libevent-2.1.12-stable\build\bin 目录添加到Path环境变量,以供搜索动态库



### 示例项目

```cmake
set(LIBEVENT_ROOT_DIR "D:/Software/libevent-2.1.12-stable")
include_directories("${LIBEVENT_ROOT_DIR}/include"
		"${LIBEVENT_ROOT_DIR}/build/include"
)
target_link_directories(libevent_test 
	PUBLIC "${LIBEVENT_ROOT_DIR}/build/lib"
)
target_link_libraries(libevent_test
    event  # libevent 库(假设库名为 event)
    ws2_32  # Windows Socket 库
)

#include <stdio.h>
#include <winsock2.h>
#include <event2/event.h>
#include <event2/http.h>
#include <event2/buffer.h>

void request_handler(struct evhttp_request* req, void* arg) {
    struct evbuffer* buf = evbuffer_new();
    evbuffer_add_printf(buf, "Hello from Libevent!");
    evhttp_send_reply(req, HTTP_OK, "OK", buf);
    evbuffer_free(buf);
}

int main() {
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 2), &wsaData);

    struct event_base* base = event_base_new();
    struct evhttp* http = evhttp_new(base);
    evhttp_bind_socket(http, "127.0.0.1", 8080);
    evhttp_set_gencb(http, request_handler, NULL);

    printf("Server running on port 8080...\n");
    event_base_dispatch(base);

    evhttp_free(http);
    event_base_free(base);
    WSACleanup();
    return 0;
}

image

posted @ 2025-07-10 09:07  丘狸尾  阅读(54)  评论(0)    收藏  举报