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文件

有如下四种编译方式

  1. 全量编译:nmake /f Makefile.nmake [all] //all可以省略,默认是all  
  2. 库编译:  nmake /f Makefile.nmake static_libs  
  3. 测试编译:nmake /f Makefile.nmake tests  
  4. 清理输出: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:libeventlibevent-2.1.18-stableinclude下的文件和文件夹copy到该目录下,F:libeventlibevent-2.1.18-stableWIN32-Code下的文件copy到该目录下,2个event2目录下的文件可合并一起。

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

ws2_32.lib;wsock32.lib;是用来编译Windows网络相关的程序库。

原文地址:https://www.cnblogs.com/dj0325/p/8797539.html