【編程筆記】libevent探究——vs2008編譯篇

編譯

libevnet的GitHub地址爲:https://github.com/libevent/libevent
我們打開其Release標籤頁在這裏插入圖片描述
可以看到各個發佈版本,由於此次編譯基於Vs2008,所以我們採用比較早期版本:v2.0.22-stable 2015年5月29號發佈的版本。
接下來就是從Git上下載此版本代碼,解壓打開後目錄如下:源碼目錄
接下來就是利用vs2008來編譯libevent的源碼了。我們在源碼目錄可以看到一個文件:Makefile.nmake,所以可以採用vs2008的命令行工具來進行編譯:在這裏插入圖片描述
由於vs2008命令行cd命令好像無效,所以我們只能選擇進一步將源碼整個目錄拷貝到:C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC在這裏插入圖片描述
考慮到lib文件區分有md、mdd、mt、mtd所以我們在編譯前,修改makefile.nmake文件:在這裏插入圖片描述
修改完之後,我們打開vs2008命令行工具,注意區分:Vs2008命令提示和Vs2008 X64 Win64命令提示,一個是編譯32位一個是編譯64位。我們以編譯32位舉例,打開Vs2008命令提示(當然64位也是一樣的):
在這裏插入圖片描述
命令如下:
cd libevent-2.0.22-stable
nmake /f makefile.nmake static_libs
如果想重新編譯:
nmake /f makefile.nmake clean
nmake /f makefile.nmake static_libs
編譯完後,在libevent-2.0.22-stable看到三個lib文件在這裏插入圖片描述
注:如果命令行是採用 nmake /f makefile.nmake all會看到如下錯誤,但是lib還是生成成功的,這主要是由於編譯了test項目

NMAKE : fatal error U1073: 不知道如何生成“print-winsock-errors.obj”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\HostX64\x64\nmake.exe"”: 返回代碼“0x2”
Stop.

所以我們用nmake /f makefile.nmake static_libs指定只編譯lib,其他項目不進行編譯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章