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-stable\event_iocp.c

    libevent-2.0.21-stable\evthread_win32.c

    libevent-2.0.21-stable\listener.c

  4. 打開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代碼

 

 

 

編譯,生成!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM