vs使用libevent
1.下载最新libevent-2.1.8-stable,并解压
2.使用vs2013 工具这里使用x64,这里更新一下,改为使用x86
进入到libevent目录 运行 nmake /f Makefile.nmake
可能会出现如下问题:
是因为libevent-2.1.8版本在test目录下没有件test/print_winsock_errors.c,网上一种方法是添加件test/print_winsock_errors.c文件
另一种方法看Makefile.nmake文件
有如下四种编译方式
- 全量编译:nmake /f Makefile.nmake [all] //all可以省略,默认是all
- 库编译: nmake /f Makefile.nmake static_libs
- 测试编译:nmake /f Makefile.nmake tests
- 清理输出:nmake /f Makefile.nmake clean
nmake /f Makefile.nmake static_libs
会生成 libevent.lib、libevent_core.lib和libevent_extras.lib动态库
如果是想要在vs调试libevent,则在Makefile.nmake 中修改
CFLAGS=$(CFLAGS) /Oxi /W3 /wd4996 /nologo 改为CFLAGS=$(CFLAGS) /Od /MDd /Zi /W3 /wd4996 /nologo /MDd 也可换成/MTd,根据自己vs C/C++ 代码生成 多线程调试配置对应 如果是64位,添加一个LIBFLAGS选项 /MACHINE:X64
3.环境配置:
项目下建一个Lib目录,将上面三个lib文件copy到该目录下。
新建一个include目录,将F:\libevent\libevent-2.1.18-stable\include下的文件和文件夹copy到该目录下,F:\libevent\libevent-2.1.18-stable\WIN32-Code下的文件copy到该目录下,2个event2目录下的文件可合并一起。
ws2_32.lib;wsock32.lib;libevent.lib;libevent_core.lib;libevent_extras.lib;
ws2_32.lib;wsock32.lib;是用来编译Windows网络相关的程序库。