靜態編譯libevent
阿新 • • 發佈:2018-12-22
libevent簡介
libevent是一個事件觸發的網路庫,適用於windows、linux、bsd等多種平臺,內部使用select、epoll、kqueue等系統呼叫管理事件機制。著名分散式快取軟體memcached也是libevent based,而且libevent在使用上可以做到跨平臺,而且根據libevent官方網站上公佈的資料統計,似乎也有著非凡的效能。
linux下編譯
這個就非常簡單了,
./configure make make install
三部曲搞定
windows下編譯就沒這麼簡單了
最新的stable版本是2.0.21,對原始碼不需要任何修改即可,老的版本可以需要在event_iocp.c evthread_win32.c listener.c中加入
#define _WIN32_WINNT 0x0500
確保程式碼中用到某些windows的函式可以知道系統版本。
開啟您visual studio tool中的開發人員工具,進入您libevent程式碼目錄,(這裡cd命令有個坑的,不同分割槽跳轉有問題,需要 cd /d dir,強制跳轉),然後輸入
nmake /f Makefile.nmake
使用vs自帶的nmake來編譯,之後會生成libevent.lib libevent_core.lib libevent_extras.lib,這樣您所需要的libevent的靜態檔案庫就生成了,下來就將include和lib引入到您的工程中就可以使用了。