用cmake在windows下编译libevent很简单,但是Github上通过release下载的没有包含cmake脚本
GitHub地址:https://github.com/libevent/libevent/releases
1.在GitHub上下载源码,我方才下载的是libevent-2.1.8-stable
libevent-2.1.8-stable:
├─compat
│ └─sys
├─include
│ └─event2
├─m4
├─sample
├─test
└─WIN32-Code
└─nmake
└─event2
2.使用nmake命令编译
我们发现源码根目录下有个文件叫“Makefile.nmake”,这是对应微软编译器nmake的脚本,和GCC的makefile一样的功能。
然后我们在开始菜单找到“适用于 VS 2017 的 x64 本机工具命令提示”(这里需要安装了Visual Studio)
在源码根路径下执行命令:
nmake /f Makefile.nmake
得到编译日志输出:
cl /IWIN32-Code /IWIN32-Code/nmake /Iinclude /Icompat /DHAVE_CONFIG_H /I. /Ox /W3 /wd4996 /nologo /c event.c buffer.c bufferevent.c bufferevent_sock.c bufferevent_pair.c listener.c evmap.c log.c evutil.c strlcpy.c signal.c bufferevent_filter.c evthread.c bufferevent_ratelim.c evutil_rand.c evutil_time.c win32select.c evthread_win32.c buffer_iocp.c event_iocp.c bufferevent_async.c
event.c
buffer.c
buffer.c(3107): warning C4244: “函数”: 从“__int64”转换到“unsigned int”,可能丢失数据
bufferevent.c
bufferevent_sock.c
bufferevent_sock.c(26