• Windows下编译libevent及使用


    1. 下载地址:http://libevent.org/ ,下载版本:libevent-2.0.22-stable.tar.gz
    2. 解压, 目录为...libevent-2.0.22-stable(自己的目录)
    3. 修改以下三个文件,添加宏定义:

      在以下3个文件开头添加“#define _WIN32_WINNT 0x0500”

      libevent-2.0.21-stableevent_iocp.c

      libevent-2.0.21-stableevthread_win32.c

      libevent-2.0.21-stablelistener.c

    4. 打开VS2015命令工具,切换到解压后的libevent目录,然后执行nmake /f Makefile.nmake命令进行编译,命令如下图所示,

               先输入cd/d D:aa_zhja_workprojectslibeventlibevent-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-stableinclude文件夹下的所有内容和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代码

    编译,生成!

  • 相关阅读:
    11个网站后台模版 | Admin Dashboards | Bootstrap
    Replace Pioneer
    Unity扩展编辑器--类型3:Custom Editors
    Unity扩展编辑器--类型1:Editor Windows
    Android新项目GBSS:第1篇 搭建开发环境
    树莓派(jessie)制作服务并开机启动
    Jqgrid动态拖拽
    看得见的百亿脱贫投入,看不见的阿里技术“脱贫代码”
    OceanBase迁移服务:向分布式架构升级的直接路径
    支付宝工程师创造出了一个可以“拷贝”支付宝的神器
  • 原文地址:https://www.cnblogs.com/nanzhi/p/7883911.html
Copyright © 2020-2023  润新知