libevent 在window环境编译

时间:2022-03-22 00:14:02
系统:win7

编译器:vc2010

1,下载最新的libevent,目前是libevent-2.0.14-stable.tar.gz。

2, 解压到目录libevent-2.0.14-stable

3,修改“D:\libevent-2.0.10-stable\event_iocp.c”、“D:\libevent-2.0.10- stable\evthread_win32.c”、“D:\libevent-2.0.10-stable\listener.c”三个文件,在文件开头分别加上一行:

#define _WIN32_WINNT 0x0500

4, 在Makefile.nmake中的CFLAGS中加入/ZI选项,同时去掉/Ox优化选项,这样生成的lib库会带有调试信息
5,在vc命令行工具中输入:nmake /f  makefile.nmake

6,用Hello-world.c文件建立一个vc工程,在文件中加入:

#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"Advapi32.lib")

#pragma comment(lib,"libevent.lib“)
#pragma comment(lib,"libevent_core.lib")
#pragma comment(lib,"libevent_extras.lib")

 
Windows下编译 libevent 64位静态库
按照libevent的文档,使用VC的nmake -f Makefile.nmake即可编译32位release模式。
因为项目中要求编译64位的版本,需要在Makefile.nmake中添加一个LIBFLAGS选项 /MACHINE:X64
如果要加调试信息,可以在 CFLAGS中加入/Zi,32位加调试选项是 CFLAGS中加/ZI,当然要调整优化选项/Ox