https://www.cnblogs.com/foundwant/p/4424391.html
VS调试Libevent流程 :
下载源码包:
libevent-2.0.20-stable.tar.gz
第一:编译libevent
进入VS2010命令提示,切换到libevent的所在目录
nmake /f Makefile.nmake
编译成功生成
libevent.lib、libevent_core.lib、libevent_extras.lib
第二:新建项目工程
新建项目,在项目目录下新建include和lib两个目录;
把\libevent\libevent-2.0.21-stable\include 下的文件拷贝到 项目include目录下,
把\libevent\libevent-2.0.21-stable\WIN32-Code下的文件拷贝到 项目include目录下,注意,两个文件夹下均有/event2目录,两个目录的文件可以合并在一个目录中;
把 libevent.lib、libevent_core.lib、libevent_extras.lib 这三个lib文件拷贝到 项目lib目录下;
第三:设置工程属性
VC++目录:
包含目录: 添加:F:\Projects\LibeventTest\LibeventTest\Include;
库目录: 添加:F:\Projects\LibeventTest\LibeventTest\Lib;
C/C++:
代码生成-->运行库:多线程调试 (/MTd)(Debug下),多线程 (/MT)(Release下)
连接器:
输入:ws2_32.lib;wsock32.lib;libevent.lib;libevent_core.lib;libevent_extras.lib;
其中ws2_32.lib;wsock32.lib;是用来编译Windows网络相关的程序库
第四:准备工作完毕,调试程序。
////////////////////////////////////////////////////////////////////////SECOND-PART/////////////////////////////////////////////////////////////////
https://www.cnblogs.com/nanzhi/p/7883911.html
Windows下编译libevent及使用
- 下载地址:http://libevent.org/ ,下载版本:libevent-2.0.22-stable.tar.gz
- 解压, 目录为...\libevent-2.0.22-stable(自己的目录)
-
修改以下三个文件,添加宏定义:
在以下3个文件开头添加“#define _WIN32_WINNT 0x0500”
libevent-2.0.21-stable\event_iocp.c
libevent-2.0.21-stable\evthread_win32.c
libevent-2.0.21-stable\listener.c
- 打开VS2015命令工具,切换到解压后的libevent目录,然后执行nmake /f Makefile.nmake命令进行编译,命令如下图所示,
先输入cd/d D:\aa_zhj\a_work\projects\libevent\libevent-2.0.22-stable切换目录,然后输入nmake /f Makefile.nmake进行编译。
编译成功后再libevent-2.0.22-stable目录下生成三个lib文件:
libevent.lib、libevent_core.lib、libevent_extras.lib
5.VS2015下使用lib
新建一个VC++控制台项目:
环境配置:
项目下建一个Lib目录,将上面三个lib文件copy到该目录下。
新建一个Include目录,将libevent-2.0.21-stable\include文件夹下的所有内容和WIN32-Code文件夹下的所有内容拷贝到新建的include目录下,两个event2目录下的文件可合并在一起。
6.项目属性设置
VC++目录:
包含目录,添加上面的Include目录;
库目录,添加上面的Lib目录;
C/C++:
代码生成-->运行库:多线程调试 (/MTd)(Debug下),多线程 (/MT)(Release下)
连接器:
输入:ws2_32.lib;wsock32.lib;libevent.lib;libevent_core.lib;libevent_extras.lib;
ws2_32.lib;wsock32.lib;是用来编译Windows网络相关的程序库。
高级-->编译为:编译为C++代码(/TP),(因为我的工程用到C++的函数所以配置这个)
网上有人推荐配置成TC的也可以,自己根据项目需要
配置忽略项,可以不配置
输入\忽略特定默认库 libc.lib;msvcrt.lib;libcd.lib;libcmtd.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)
7. 生成lib后,不带调试信息,无法单步进函数里,所以要修改脚本:Makefile.nmake第二行
CFLAGS=$(CFLAGS) /Od /W3 /wd4996 /nologo /Zi
到此为止项目配置好了,我们来写相关的demo代码
编译,生成!